LoginSignup
0
0

Postfixを使ってローカルホストにテストメールを送信する方法

Last updated at Posted at 2024-06-09

はじめに

自分自身に対してメール送信できるかのテストをしました。

メールスプールの説明は以下の記事を参考にしてください。
https://qiita.com/gama1234/items/102789e8117190e1d95c

前提条件

VirtualBoxにて実行しました

手順

rootユーザーに昇格する

$ sudo su -

postfixをインストールする

# yum install postfix

念のため、メール関連のポートを空けました。

# firewall-cmd --permanent --add-port=25/tcp
# firewall-cmd --permanent --add-port=465/tcp
# firewall-cmd --permanent --add-port=587/tcp
# firewall-cmd --reload

postfixの設定ファイルは以下の設定にしています。

# cat /etc/postfix/main.cf | grep -v ^# | grep -v ^$
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
inet_interfaces = localhost
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases


debug_peer_level = 2
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.10.1/samples
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
smtpd_banner = $myhostname ESMTP unknown
debug_peer_level = 2
relayhost =

chatGPTに各パラメータの意味を聞きました

# 基本設定
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
myhostname = mail.localdomain  # 仮のホスト名
mydomain = localdomain         # 仮のドメイン名
myorigin = $myhostname

# ネットワークインタフェース設定
inet_interfaces = localhost
inet_protocols = ipv4

# 宛先設定
mydestination = $myhostname, localhost.$mydomain, localhost
local_recipient_maps = 
unknown_local_recipient_reject_code = 550
mynetworks = 127.0.0.0/8

# エイリアスマップ
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

# メールボックスの設定
home_mailbox = Maildir/
luser_relay = unknown_user@localhost

# SMTPバナー
smtpd_banner = $myhostname ESMTP unknown
debug_peer_level = 2

# ローカルSMTPサーバを使用するための設定
relayhost =

postfixのサービスを再起動しました

systemctl restart postfix

テストメールを自分自身のホストに送信しました

# echo "This is a test mail from postfix" | mail -s "Test Mail" root@localhost

メールが届いていることを確認しました

# cat /var/spool/mail/root


From root@localhost.localdomain  Sat Jun  8 09:34:14 2024
Return-Path: <root@localhost.localdomain>
X-Original-To: root@localhost.localdomain
Delivered-To: root@localhost.localdomain
Received: by localhost.localdomain (Postfix, from userid 0)
        id 2DB0586C66B; Sat,  8 Jun 2024 09:34:14 +0900 (JST)
Date: Sat, 08 Jun 2024 09:34:14 +0900
To: root@localhost.localdomain
Subject: Test Mail
User-Agent: Heirloom mailx 12.5 7/5/10
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <20240608003414.2DB0586C66B@localhost.localdomain>
From: root@localhost.localdomain (root)

This is a test mail from postfix

From MAILER-DAEMON  Sun Jun  9 09:45:48 2024

まとめ

MTAはメール送信するソフトでMailTransferAgentの略です。
PostfixはMTAです。SMTPはメール送信の際のプロトコルですね。

メールスプールにはシステムの通知が受信されます。
ローカルメールroot@localhostに送信したものは
メールスプールにメッセージが表示されることを学びました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0