自宅サーバーのCentOSでメールサーバーの環境構築(Postfix+Dovecot)
自宅サーバーのVMware上のCentOSでPostfix+Dovecotを使用したメールサーバーを構築する。
PostfixのSMTP認証にはCyrus SASLを使用。
※この記事は自分用作業ログとなり、参考にならないと思いますのでご注意下さい
環境
・ファイアウォール(ルーター)
ゲストOS:CentOS6.6(VMWare)
IP:192.168.10.30
IP:10.10.0.30
ドメイン:vmware.local
※同サーバーのDNSサーバーで設定
・メールサーバー
ゲストOS:CentOS6.6(VMWare)
IP:192.168.10.40
IP:10.10.0.40
ドメイン:mail.vmware.local
・自宅プロパイダ
OCN
やりたかった事、注意点
test@mail.vmware.local
というアドレスを作成して
@gmail.com
にメールを送信、逆も出来るように。
・・・と思っていましたが、
自宅サーバーにグローバルなドメインが設定されていない場合、上記は実現出来ない。
理由として、mail.vmware.localのドメインがLAN内のみ有効で世界のインターネット上では名前解決出来ない為。
更に言うと、自宅サーバーのプロパイダによってはOP25B対策がされており、25番ポートへのアクセスを閉じられている為、その対応が必要になるみたい。
※参考
http://www.walbrix.com/jp/blog/2014-02-gentoo-postfix-relay-gmail.html
結論から言うと、
SMTPサーバー(メール送信処理)を自宅のメールサーバーに設定しメール送信を出来るようにする。
但し、メールリレーによりメール送信処理をプロパイダに委譲する。
メール送信元アドレス、メール送信先アドレスはgmail等の実際に存在するアドレスを指定する。
何か縛りが凄い・・
手順
Postfix+cyrus-sasl
postfixインストール
yum -y install postfix
Postfix設定ファイル編集
vi /etc/postfix/main.cf
追加
# メールサーバーのドメイン(FQDN) myhostname = mail.vmware.local # 自サーバーのドメイン mydomain = vmware.local # ローカルからのメール送信時の送信元メールアドレス@以降にドメイン名を付加する myorigin = $mydomain # メールボックス形式をMaildir形式にする home_mailbox = Maildir/ # メールサーバーソフト名の隠蔽化 smtpd_banner = $myhostname ESMTP unknown # 受信メールサイズ制限 message_size_limit = 10485760
バーチャルメールボックス用の設定追記
virtual_mailbox_domains = vmware.local virtual_mailbox_base = /home/mailuser virtual_mailbox_maps = hash:/etc/postfix/vmailbox virtual_minimum_uid = 10000 virtual_uid_maps = static:10000 virtual_gid_maps = static:10000 virtual_alias_maps = hash:/etc/postfix/virtual
virtual_mailbox_domainsには受信するドメインを指定。
virtual_mailbox_baseにはバーチャルメールボックスユーザーを指定。
virtual_uid_mapsとvirtual_gid_mapsはバーチャルメールボックスユーザーのグループIDを指定。
smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
変更
#外部からのメール受信を許可 inet_interfaces = all # 自ドメイン宛メールを受信できるようにする mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain #ipv6で送信しないように inet_protocols = ipv4
追加
存在しないユーザー宛メールをunknown_userへ配送
local_recipient_maps = luser_relay = unknown_user@localhost
unknown_user宛メールを破棄
echo unknown_user: /dev/null >> /etc/aliases
サブミッションポート(587)を有効にする。
サブミッションポートとは、TCP 25番ポート以外でメールの送信を行うためのポート。
「SMTP認証(SMTP AUTH)」と併せて利用するのが一般的。
OBP25B(迷惑メール対策)の為に使用する。
master.cf を編集。
vi /etc/postfix/master.cf
コメントアウトを外し以下のように設定
smtpd_tls_security_levelの行はコメントアウトのまま
submission inet n - n - - smtpd # -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING
mkdir -p /var/spool/postfix/private/auth
権限付与
chown postfix:postfix -R /var/spool/postfix/private/ chmod 700 -R /var/spool/postfix/private/
postmap /etc/postfix/virtual
cyrus-saslインストール
yum -y install cyrus-sasl yum -y install cyrus-sasl-plain cyrus-sasl-md5
saslauthd起動
/etc/rc.d/init.d/saslauthd start
自動起動設定
chkconfig saslauthd on
SMTPAuthを利用する為、smtpd.confを修正。
vi /etc/sasl2/smtpd.conf
以下のように設定する
pwcheck_method: auxprop
Maildir形式メールボックスを作成する。
Postfixのメール格納形式は共有ディレクトリ形式(「/var/spool/mail/ユーザー名」というファイルに全てのメールが蓄積されていく形式)だが、アクセス性能改善及びセキュリティ強化の観点からMaildir形式へ移行する。
新規ユーザー追加時に自動でホームディレクトリにMaildir形式のメールボックスが作成されるようにする。
mkdir -p /etc/skel/Maildir/new/
パーミッション設定
chmod -R 700 /etc/skel/Maildir/
Postfix起動
/etc/rc.d/init.d/postfix restart
自動起動設定
chkconfig postfix on
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
Dovecot
Dovecotインストール
yum -y install dovecot
10-mail.conf編集
vi /etc/dovecot/conf.d/10-mail.conf
追加
# メールボックス形式をMaildir形式とする mail_location = maildir:~/Maildir # ※OpenSSH+Chrootを導入している場合のみ valid_chroot_dirs = /home
10-auth.conf編集
vi /etc/dovecot/conf.d/10-auth.conf
コメントアウトを外す
!include auth-passwdfile.conf.ext
コメントアウトする
#!include auth-system.conf.ext
変更
# プレインテキスト認証を許可 # ※メールサーバー間通信内容暗号 ((OpenSSL+Postfix+Doveco)) disable_plaintext_auth = no auth_mechanisms = plain login
10-ssl.conf編集
/etc/dovecot/conf.d/10-ssl.conf
# SSL接続無効 # ※メールサーバー間通信内容暗号化(OpenSSL+Postfix+Dovecot)導入必須 ssl = no
auth-passwdfile.conf.extファイルを編集
vi /etc/dovecot/conf.d/auth-passwdfile.conf.ext
変更前
passdb { driver = passwd-file args = scheme=CRYPT username_format=%u /etc/dovecot/users } userdb { driver = passwd-file args = username_format=%u /etc/dovecot/users }
変更後
passdb { driver = passwd-file args = /etc/dovecot/passwd } userdb { driver = passwd-file args = /etc/dovecot/passwd }
dovecot.conf編集
vi /etc/dovecot/dovecot.conf
エラー時の調査用にデバッグモードに設定
auth_verbose = yes auth_debug = yes
Dovecot起動
/etc/rc.d/init.d/dovecot start
自動起動設定
chkconfig dovecot on
iptablesでポート開放
iptables -A INPUT -p tcp --dport 110 -j ACCEPT iptables -A INPUT -p tcp --dport 143 -j ACCEPT
メールユーザー作成
メールボックス用のグループとバーチャルメールボックスユーザーを作成
※ここではmailuserというグループ名とユーザー名としているが任意の名前でOK
グループIDを10000で指定しているが任意のIDでOK
groupadd -g 10000 mailuser
useradd -g 10000 -g mailuser -d /home/mailuser -s /sbin/nologin mailuser
以後、メールアカウント追加時は下記作業から。
メールボックス定義ファイル作成
vi /etc/postfix/vmailbox
メールボックス メールボックスディレクトリパス
を追記。
メールアドレス:test@mail.vmware.local
メールアドレスディレクトリ:test
とする場合は
test@mail.vmware.local test
データベースを更新
postmap /etc/postfix/vmailbox
メール転送したい場合は下記ファイルに追記してデータベースを更新しますが、今回はメール転送は行わない為特に編集しません。
/etc/postfix/virtual
パスワードを作成します。
dovecot2からdoveadmというコマンドに変わったようです。
(dovecot1ではdovecotpw)
下記では「testpassword」というパスワードにハッシュアルゴリズム「HMAC-MD5」を使用してパスワードを生成しています。
doveadm pw -s HMAC-MD5 -p testpassword {HMAC-MD5}3c4936f08f79f2bd70c0b42de4449f2286cfe22749d81c932bf2bc9e95bff4a2
パスワードファイルpasswd-fileを作成し、上記コマンドで生成したパスワードを登録します。
vi /etc/dovecot/passwd
追記
test@mail.vmware.local:{HMAC-MD5}3c4936f08f79f2bd70c0b42de4449f2286cfe22749d81c932bf2bc9e95bff4a2:502:10000:::::Maildir:/home/mailuser/Maildir/test/
※ユーザーIDとグループIDはpasswdファイルから確認する
cat /etc/passwd | grep mailuser mailuser:x:502:10000::/home/mailuser:/sbin/nologin
mkdir -p /home/mailuser/Maildir/test/
権限付与
chown mailuser:mailuser -R /home/mailuser/Maildir/test/ chmod 700 -R /home/mailuser/Maildir/test/
telnet無い場合はインストール
yum -y install telnet
POP3ポート確認
telnet localhost 110 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK Dovecot ready. USER test@mail.vmware.local ←入力 +OK PASS testpassword ←入力 +OK Logged in.
確認出来たらquitでログアウト。
telnet localhost 143 1 LOGIN test@mail.vmware.local testpassword ←入力(左端の1も忘れずに) 1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in 2 list "" ←入力(左端の2も忘れずに) 3 LOGOUT ←入力(左端の3も忘れずに)
ログインできない場合は/var/log/maillogログを確認する。
メールでのSMTP認証用ユーザー名、パスワードとシステムのユーザー名、パスワードを別々にする。
※OS上のパスワードと同じで良いならこのコマンドは不要
echo testpassword | saslpasswd2 -p -u mail.vmware.local -c test
- p ... 上記のようにecho等使用してパイプでパスワードを設定(パイプモード)
- u ... realm(ドメイン名)を指定、main.cfの「myhostname」の値と同じ
- c 設定するユーザーを指定
SMTP認証用ユーザー名、パスワード確認
sasldblistusers2 test@mail.vmware.local: userPassword
削除する場合は
saslpasswd2 -u mail.vmware.local -d test
sasldb2所有グループをpostfixに変更※最初の1回のみ
※このコマンドは最初の1回のみ、次回からのユーザー作成時は不要。
chgrp postfix /etc/sasldb2
iptables設定
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 110 -j DNAT --to 10.0.10.40 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j DNAT --to 10.0.10.40 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 465 -j DNAT --to 10.0.10.40 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 587 -j DNAT --to 10.0.10.40 iptables -A FORWARD -m tcp -p tcp --dst 10.0.10.40 --dport 110 -j ACCEPT iptables -A FORWARD -m tcp -p tcp --dst 10.0.10.40 --dport 25 -j ACCEPT iptables -A FORWARD -m tcp -p tcp --dst 10.0.10.40 --dport 465 -j ACCEPT iptables -A FORWARD -m tcp -p tcp --dst 10.0.10.40 --dport 587 -j ACCEPT
・メールサーバー
iptables -A INPUT -p tcp -s 192.168.10.0/24 --dport 110 -j ACCEPT iptables -A INPUT -p tcp -s 192.168.10.0/24 --dport 25 -j ACCEPT iptables -A INPUT -p tcp -s 192.168.10.0/24 --dport 465 -j ACCEPT iptables -A INPUT -p tcp -s 192.168.10.0/24 --dport 587 -j ACCEPT iptables -A INPUT -p tcp -s 10.0.10.0/24 --dport 110 -j ACCEPT iptables -A INPUT -p tcp -s 10.0.10.0/24 --dport 25 -j ACCEPT iptables -A INPUT -p tcp -s 10.0.10.0/24 --dport 465 -j ACCEPT iptables -A INPUT -p tcp -s 10.0.10.0/24 --dport 587 -j ACCEPT iptables -A OUTPUT -p tcp -d 192.168.10.0/24 --sport 110 -j ACCEPT iptables -A OUTPUT -p tcp -d 192.168.10.0/24 --sport 25 -j ACCEPT iptables -A OUTPUT -p tcp -d 192.168.10.0/24 --sport 465 -j ACCEPT iptables -A OUTPUT -p tcp -d 192.168.10.0/24 --sport 587 -j ACCEPT iptables -A OUTPUT -p tcp -d 10.0.10.0/24 --sport 110 -j ACCEPT iptables -A OUTPUT -p tcp -d 10.0.10.0/24 --sport 25 -j ACCEPT iptables -A OUTPUT -p tcp -d 10.0.10.0/24 --sport 465 -j ACCEPT iptables -A OUTPUT -p tcp -d 10.0.10.0/24 --sport 587 -j ACCEPT
メール送信時エラー出たらmaillogを確認
メッセージが出た場合はログ確認
less /var/log/maillog
maillogエラー1
下記エラー出たけどmain.cf編集で解決した。
Feb 9 05:47:32 web dovecot: pop3-login: Aborted login (no auth attempts): rip=192.168.10.106, lip=10.0.10.40 Feb 9 05:47:32 web postfix/smtpd[59191]: connect from unknown[192.168.10.106] Feb 9 05:47:32 web postfix/smtpd[59191]: warning: SASL: Connect to private/auth failed: Connection refused Feb 9 05:47:32 web postfix/smtpd[59191]: fatal: no SASL authentication mechanisms Feb 9 05:47:33 web postfix/master[58757]: warning: process /usr/libexec/postfix/smtpd pid 59191 exit status 1 Feb 9 05:47:33 web postfix/master[58757]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling
/etc/postfix/main.cf
を以下のように変更
変更前
smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth
変更後
smtpd_sasl_type = cyrus smtpd_sasl_path = smtpd
maillogエラー2
下記エラーの場合はpasswdに設定したパスワードとsaslpasswd2に設定したパスワードに差異がある可能性あり。
Feb 9 22:14:06 web postfix/smtpd[59778]: connect from unknown[192.168.10.106] Feb 9 22:14:06 web postfix/smtpd[59778]: warning: SASL authentication failure: Password verification failed Feb 9 22:14:06 web postfix/smtpd[59778]: warning: unknown[192.168.10.106]: SASL PLAIN authentication failed: authentication failure Feb 9 22:14:06 web postfix/smtpd[59778]: warning: unknown[192.168.10.106]: SASL LOGIN authentication failed: authentication failure
maillogエラー3
thunderbirdでメール送信されたけどメール受信されない。
/var/log/maillogではメール送受信ログある
Feb 9 22:50:18 web postfix/local[60127]: 8CF973158: to=<test@mail.vmware.local>, relay=local, delay=0.12, delays=0.07/0.03/0/0.01, dsn=2.0.0, status=sent (delivered to maildir) Feb 9 22:50:20 web dovecot: auth: Debug: master out: USER#011679870465#011test@mail.vmware.local#011uid=502#011gid=10000#011mail=Maildir:/home/mailuser/Maildir/test/
ls -lht /home/mailuser/Maildir/test/new/ 合計 0 ls -lht /home/mailuser/Maildir/test/cur/ 合計 0
spool側にも届いてない
ls -lht /var/spool/mail/mailuser -rw-rw----. 1 mailuser mail 0 2月 8 20:15 2017 /var/spool/mail/mailuser
問題切り分けの為、postfixの設定でsmtpを一旦無効にして
/etc/postfix/main.cf
smtpd_sasl_auth_enable = no
再度メール送信
iptablesで25番ポート落とされてるぽい?
Feb 9 23:20:13 web kernel: Dropped by OUTPUT: IN= OUT=eth0 SRC=10.0.10.40 DST=108.177.97.26 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=45754 DF PROTO=TCP SPT=51835 DPT=25 WINDOW=14600 RES=0x00 SYN URGP=0 Feb 9 23:20:14 web kernel: Dropped by OUTPUT: IN= OUT=eth0 SRC=10.0.10.40 DST=108.177.97.26 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=45755 DF PROTO=TCP SPT=51835 DPT=25 WINDOW=14600 RES=0x00 SYN URGP=0 Feb 9 23:20:16 web kernel: Dropped by OUTPUT: IN= OUT=eth0 SRC=10.0.10.40 DST=108.177.97.26 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=45756 DF PROTO=TCP SPT=51835 DPT=25 WINDOW=14600 RES=0x00 SYN URGP=0
認証パスワード作
[root@web ~]# printf "%s\0%s\0%s" test@mail.vmware.local test@mail.vmware.local testpassword | openssl base64 -e | tr -d '\n'; echo dGVzdEBtYWlsLnZtd2FyZS5sb2NhbAB0ZXN0QG1haWwudm13YXJlLmxvY2FsAHRlc3RwYXNzd29yZA==
成功例??
[root@web ~]# telnet localhost 587 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mail.vmware.local ESMTP unknown EHLO mail.vmware.local 250-mail.vmware.local 250-PIPELINING 250-SIZE 10485760 250-VRFY 250-ETRN 250-AUTH LOGIN PLAIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN AUTH PLAIN dGVzdEBtYWlsLnZtd2FyZS5sb2NhbAB0ZXN0QG1haWwudm13YXJlLmxvY2FsAHRlc3RwYXNzd29yZA== 235 2.7.0 Authentication successful quit 221 2.0.0 Bye Connection closed by foreign host.
認証はOK
続いて送信
[root@web ~]# telnet localhost 587 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mail.vmware.local ESMTP unknown EHLO mail.vmware.local 250-mail.vmware.local 250-PIPELINING 250-SIZE 10485760 250-VRFY 250-ETRN 250-AUTH LOGIN PLAIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN AUTH PLAIN dGVzdEBtYWlsLnZtd2FyZS5sb2NhbAB0ZXN0QG1haWwudm13YXJlLmxvY2FsAHRlc3RwYXNzd29yZA== 235 2.7.0 Authentication successful mail from:test@mail.vmware.local 250 2.1.0 Ok rcpt to:test@mail.vmware.local 250 2.1.5 Ok data 354 End data with <CR><LF>.<CR><LF> subject testtitle honbun . 250 2.0.0 Ok: queued as 345B3315C quit 221 2.0.0 Bye Connection closed by foreign host.
別ドメインアドレスにメール送信
[root@web ~]# telnet localhost 587 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mail.vmware.local ESMTP unknown EHLO mail.vmware.local 250-mail.vmware.local 250-PIPELINING 250-SIZE 10485760 250-VRFY 250-ETRN 250-AUTH LOGIN PLAIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN AUTH PLAIN dGVzdEBtYWlsLnZtd2FyZS5sb2NhbAB0ZXN0QG1haWwudm13YXJlLmxvY2FsAHRlc3RwYXNzd29yZA== 235 2.7.0 Authentication successful mail from:test@mail.vmware.local 250 2.1.0 Ok rcpt to:***@gmail.com 250 2.1.5 Ok data 354 End data with <CR><LF>.<CR><LF> subject testtitle honbun . 250 2.0.0 Ok: queued as 0B8E5315C quit 221 2.0.0 Bye Connection closed by foreign host.
maillogエラー4
どうやらOP25Bという問題のおかげで直接25番portでSMTPできていないみたい。
Feb 11 08:51:14 web postfix/smtp[61998]: connect to gmail-smtp-in.l.google.com[64.233.188.27]:25: Connection timed out Feb 11 08:51:14 web postfix/smtp[61998]: connect to alt1.gmail-smtp-in.l.google.com[2607:f8b0:4003:c17::1b]:25: Network is unreachable Feb 11 08:51:44 web postfix/smtp[61998]: connect to alt1.gmail-smtp-in.l.google.com[173.194.67.27]:25: Connection timed out Feb 11 08:51:44 web postfix/smtp[61998]: connect to alt2.gmail-smtp-in.l.google.com[2607:f8b0:4001:c0b::1b]:25: Network is unreachable
送信失敗したメールはキューに溜まってるみたい。
Connection timed outが発生してる。
postqueue -p -Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient------- 32BD73163 369 Sat Feb 11 09:14:30 test@mail.vmware.local (connect to alt4.gmail-smtp-in.l.google.com[74.125.192.26]:25: Connection timed out) ***@gmail.com
一旦キュー削除
postsuper -d ALL deferred
外部へのメールを送るメールサーバーを指定。
これを指定しないとデフォルトだと外部のメールサーバーを直接指定するらしい。
なので、これを指定しなかったので送信時にgoogleのメールサーバー見に行ってたみたい。
以下のように自サーバーのメールサーバーを指定する。
relayhost = [mail.vmware.local]
設定後はpostfixを再起動
同じようにtenletから再度メール送信したけどまたエラー。
だけど今度はメッセージ変わった
一応ちゃんと自サーバーを見てるみたい
Feb 11 10:08:24 web postfix/smtp[63630]: connect to mail.vmware.local[192.168.10.40]:25: No route to host Feb 11 10:08:24 web postfix/smtp[63628]: 80BCA3167: to=<***@gmail.com>, relay=none, delay=1246, delays=1243/0.07/3/0, dsn=4.4.1, status=deferred (connect to mail.vmware.local[192.168.10.40]:25: No route to host)
※参考までに、DNSを変更後もpostfixのログで変更前のdns逆引きされてる場合はpostfixの再起動が必要。
No route to hostって出てるので試しにtelnetで接続
telnet 192.168.10.40 25 Trying 192.168.10.40... telnet: connect to address 192.168.10.40: No route to host
繋がらない・・
pingも繋がらない
ping 192.168.10.40 PING 192.168.10.40 (192.168.10.40) 56(84) bytes of data. From 192.168.10.30 icmp_seq=2 Destination Host Unreachable From 192.168.10.30 icmp_seq=3 Destination Host Unreachable
どうやら自サーバーのDNS設定で繋がってないネットワークに対して正引き設定していたようなので、bindのゾーン情報ファイルを以下のように修正。
変更前
mail IN A 192.168.10.40
変更後
mail IN A 10.0.10.40
設定後はnamed再起動
再度telnetで587でメール送信。
まだメール送信できなかったけどエラーメッセージ変わった
Feb 11 10:19:32 web postfix/smtp[63701]: 8119A3163: to=<***@gmail.com>, relay=none, delay=15, delays=15/0/0/0, dsn=4.3.5, status=deferred (mail for mail.vmware.local loops back to myself)
調査した所、relayhostにローカルのメールサーバーを指定するとメールリレーがループしてエラーなるらしい。
なので、relayhostにはローカルのメールサーバーを指定するべきではないみたい。
relayhostには自身のメールサーバーの処理すべきドメインのみ指定するべきみたい。
ここでいうmail.vmware.local
で、自宅サーバーなどの場合、メールサーバーを構築してメール送信しようとしてもプロパイダ(ISP)側のOP25B対策によりメールが送れない事があるらしいので
relayhostにはプロパイダのSMTPを指定する必要があるみたい
relayhost = [smtp.***.ne.jp]
同じようにmyhostnameとmydomainにもプロパイダのドメインを設定。
myhostname = ***.ne.jp mydomain = ***.ne.jp
そうするとエラーメッセージ変わった
Feb 11 18:07:17 web postfix/smtp[68579]: 1042D31A7: to=<***@gmail.com>, relay=smtp.***.ne.jp[203.160.31.73]:25, delay=0.52, delays=0.47/0/0.04/0.01, dsn=4.1.8, status=deferred (host smtp.***.ne.jp[***.***.***.***] said: 450 4.1.8 <test@mail.vmware.local>: Sender address rejected: Domain not found (in reply to RCPT TO command))
どうやらプロパイダ側のDNSのでこちらのLAN内のドメインが名前解決出来ないからみたい。
なので送信元アドレスを実際に存在してるドメインを指定してみる。
telnetモードにして
telnet localhost 587
HELO ホスト名入力
HELO mail.vmware.local
SMTP-AUTHのパスワード入力
※自サーバーアカウント(ここで言うtest@mail.vmware.local)のパスワード
AUTH PLAIN dGVzdEBtYWlsLnZtd2FyZS5sb2NhbAB0ZXN0QG1haWwudm13YXJlLmxvY2FsAHRlc3RwYXNzd29yZA==
送信元アドレス
mail from:***@ocn.ne.jp
宛先アドレス
rcpt to:***@gmail.com
dataを入力して
data
タイトル
Subject:hoge
メール文
bunsyou
.を入力してtelnetを終了
.
メーラーを確認するとメールが届いていた。