トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

sendmailコマンドのsmtpサーバの設定

MTAの確認

 alternatives --config mta

で利用するMTAの確認と選択ができる。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.sendmail
   2           /usr/sbin/sendmail.postfix
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:

「+」が付いているMTAが選択されているもの。

メール送信に外部のSMTPサーバを使う

 gmailのパスワード

2段階承認プロセスで認証を行なっている場合、
smtpやpopを利用した認証を行う手順

  1. ブラウザgoogleへログイン
  2. アカウント情報の画面を開く
  3. ログインとセキュリティを選択
  4. googleへのログインを選択
  5. アプリパスワードを選択
  6. 新しいパスワードを発行
  7. 発行したパスワードをsmtpやpopのパスワードとして設定する


 postfix の場合

postfix がインストールされていない場合

yum install postfix

サービスの起動と自動起動の設定をする

systemctl start postfix.service
systemctl enable postfix.service

とか

認証なしの場合(ocnとか)

vi /etc/postfix/main.cf

myhostname = xxx.ddo.jp
relayhost = [xxx.ocn.ne.jp]

テスト

sendmail hogehoge@aa.bb.cc

test
.

SASL認証の場合(gmail)とか

http://www.uetyi.mydns.jp/wordpress/postfix-setting/entry-456.html
http://memo.xight.org/2009-05-24-3

sasl pain 認証を使うので

cyrus-sasl-plain

が必要。なければ

yum install cyrus-sasl-plain

vi /etc/postfix/main.cf

relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain

smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt

証明書(/etc/pki/tls/certs/ca-bundle.crt)のパスはディストリビューションにより異なることがある。

認証するためのユーザとパスワードを設定
vi /etc/postfix/sasl_passwd

[smtp.gmail.com]:587 foo@gmail.com:パスワード

※パスワードはgoogleの2段階認証設定後のアプリパスワードを指定する

# chown root:root /etc/postfix/sasl_passwd
# chmod 600 /etc/postfix/sasl_passwd
# postmap /etc/postfix/sasl_passwd

/etc/postfix/sasl_passwd.db が作成されたのを確認

aws sesの場合

https://dev.classmethod.jp/articles/sendmail-from-ses-smtpendpoint/

テスト

sendmail hogehoge@aa.bb.cc

test
.

送れない場合は、 google が怪しいアクセスとみなしている可能性がある。
https://accounts.google.com/DisplayUnlockCaptcha
へアクセスし、怪しくないことを伝える。



 sendmail の場合

http://www.sios.com/product/rhel/usersite/faq/faq3-98.html
http://d.hatena.ne.jp/adsaria/20080331/1207021853

設定ファイルの変更

/etc/mail/submit.mc を編集する

FEATURE(`msp', `[127.0.0.1]')dnl 


 FEATURE(`msp', `[192.168.1.1]')dnl 

などのように編集。192.168.1.1 は外部のメールサーバ。

submit.mc ファイル を submit.cf に変換

sendmail-cf パッケージが必要なので、もしなければ

yum install sendmail-cf

でインストール。

 # make -C /etc/mail 

で、submit.cfを作成する

sendmailサービスを再起動

/etc/init.d/sendmail restart

外部からのメールを受信する

 必要なもの

ドメイン名
25ポートの使用許可
DNSにmxレコードを指定する環境

 準備

Dynamic DO!.jp - ダイナミックDNS -を例に設定。

  1. DDOのmxレコードを確認、設定
    1. 指定先はメールを受信するサーバ
  2. ポート25を開ける
    1. awsの場合以下を確認
      1. セキュリティグループ
      2. firewalldなどのファイヤーウォール
      3. awsの25ポートの制限
      4. https://aws.amazon.com/forms/ec2-email-limit-rdns-request

 postfixの場合

設定

myhostname = xxx.ddo.jp
mydomain = xxx.ddo.jp
myorigin = $mydomain
inet_interfaces = all

リレーサーバとして動作させる設定

 注意

設定を間違えたりするとスパムメールの踏み台にされるので注意。
最悪の場合、メールサーバがブラックリストとして登録されて受信拒否される。

 postfixの場合

mynetworksとrelay_domainsの設定でリレーの設定をする。

mynetworks
指定されたホストからのメールを受信すると、宛先がmydestinationで指定されたもの以外の場合、DNSサーバを使用して宛先の名前解決を行い、自分自身以外のMTAへの転送を行います。

relay_domains
mynetworksで設定されていないMTAから届いたメールをリレーするドメインを指定する。

イメージ的にmynetworksはリレー元の設定、relady_domainsはリレー先の設定。
設定 mynetworks relay_domains
デフォルト(リレーなし) ローカル mydestination(ローカル)
192.168.1.0/24からのリレー許可 mynetworks=127.0.0.0/8 192.168.1.0/24 mydestination(ローカル)


[カテゴリ: OS > Linux]
[カテゴリ: ツール]

[通知用URL]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2023年05月28日 11時08分34秒