CentOS 6.4から電子メールを送信しようとしていますが、機能しません。サーバーに関する私の知識はかなり限られているので、誰かが私を助けてくれることを願っています。これが私がしたことです:
最初に「mail」コマンドを使ってメールを送信しようとしましたが、OSにないのでインストールしました。
# yum install mailx
その後、「mail」コマンドを使ってメールを送信しようとしましたが、何も送信されませんでした。インターネットで調べてみたところ、sendmailのようなメールサーバーが必要だと気づき、インストールしました。
# yum install sendmail sendmail-cf sendmail-doc sendmail-devel
その後、いくつかのチュートリアルに従って構成しました。まず、sendmail.mcファイル。
# vi /etc/mail/sendmail.mc
次の行をコメント化しました:
BEFORE
# DAEMON_OPTIONS('Port=smtp, Name=MTA') dnl
AFTER
# dnl DAEMON_OPTIONS('Port=smtp, Name=MTA') dnl
次の行が正しいことを確認します。
# FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl
# ...
# FEATURE(use_cw_file)dnl
# ...
# FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')dnl
Sendmail.cfを更新する
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
Iptablesファイルに適切な行を追加して、ポート25を開きます。
# vi /etc/sysconfig/iptables
# -A INPUT -m state --state NEW -m tcp --dport 25 -j ACCEPT
iptablesとsendmailを再起動します
# service iptables restart
# service sendmail restart
それで大丈夫だと思いましたが、試したところ:
# mail '[email protected]'
# Subject: test subject
# test content
#.
メールログを確認しました。
# vi /var/log/maillog
そしてそれが私が見つけたものです:
Aug 14 17:36:24 dev-admin-test sendmail[20682]: r7D8RItS019578:
to=<[email protected]>, ctladdr=<[email protected]> (0/0),
delay=1+00:09:06, xdelay=00:00:00, mailer=esmtp, pri=2460500, relay=alt4.gmail-
smtp-in.l.google.com., dsn=4.0.0, stat=Deferred: Connection timed out with
alt4.gmail-smtp-in.l.google.com.
接続がタイムアウトする理由がわかりません。何か不足していますか?誰か助けてもらえますか?
ありがとうございました。
送信SMTP接続がファイアウォールによってブロックされていませんか?
これは一般的な発信スパム対策です。
Smtp.gmail.comでポート25と587にtelnetすると、SMTPグリーティングメッセージが表示されますか?
[少なくともポート587で挨拶を受け取る必要があります]
telnet smtp.gmail.com 587
telnet smtp.gmail.com 25
答えてくれてありがとう。私の場所で使用されているSMTPサーバーが構成ファイルで構成されていないようです。私は正しい情報を得て、それを設定ファイルに書きました、そして今それはうまくいきます。
ありがとうございました!