【Django】postfixを使ってメールを送信する設定
postfixのインストール
sendmailの停止
$ sudo service sendmail stop
Shutting down sm-client: [ OK ]
Shutting down sendmail: [ OK ]
postfixのインストール
$ sudo yum install postfix
以下でバージョン確認
$ postconf mail_version
mail_version = 2.6.6
今回は2.6.6が入った
MTA切り替え設定、自動起動の設定
$ sudo alternatives --config mta
2 プログラムがあり 'mta' を提供します。
選択 コマンド
-----------------------------------------------
*+ 1 /usr/sbin/sendmail.sendmail
2 /usr/sbin/sendmail.postfix
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します
2を入力し、postfixに切り替える
$ sudo chkconfig sendmail off
$ chkconfig --list sendmail
sendmail 0:off 1:off 2:off 3:off 4:off 5:off 6:off
$ sudo chkconfig --add postfix
$ sudo chkconfig postfix on
$ chkconfig --list postfix
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off
sendmailを自動起動無効、postfixを自動起動有効にする
メール送信のテスト
$ sendmail [email protected]
From:[email protected]
To:[email protected]
Subject:テスト送信
テスト送信です
.
[email protected]にメールが送信されているかを確認する
仮にpostdrop: warning: unable to look up public/pickup: No such file or directory
といったエラーが出た場合は下記で対処
$ sudo service postfix restart
Shutting down postfix: [FAILED]
Starting postfix: [ OK ]
Djangoの設定
setting.pyの中で以下を追記する
....
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_PORT = 25
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_USE_TLS = False
DEFAULT_FROM_EMAIL = '送信者名 <[email protected]>'
....
/etc/postfix/main.cfの編集
$ sudo vi /etc/postfix/main.cf
下記を追記する
myhostname = mybox.example.com
mydestination = localhost.server.com, localhost, example.com
example.comの部分は送信メールアドレスのドメイン名を記載する
参考
Postfixをインストールしてメール送信してみる | 本日も乙
python - How do you configure Django to send mail through Postfix? - Stack Overflow
Author And Source
この問題について(【Django】postfixを使ってメールを送信する設定), 我々は、より多くの情報をここで見つけました https://qiita.com/xKxAxKx/items/d1923975ac6f13f29e5a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .