メール送信
Drupal7

Drupal7 SMTP設定とHTMLメールの方法

設定内容

SMTPでメールアカウントを設定した上でHTMLメールの送信を行う。

SMTPの設定はSMTP Authentication Supportモジュールを用いる。
HTMLの設定はHTML Mailモジュールを用いる。

そのままモジュールを入れて設定しても片方の設定しか機能しないため、両方の設定を合わせて使えるように設定する。

必要なモジュール

設定方法

SMTP Authentication Support

環境設定 > システム > SMTP Auth...(admin/config/system/smtp)でSMTPの設定をする。

Turn this module on or offをオンにする。
これはモジュールの設定を有効にするために必要。

SMTP serverにSMTPサーバーのアドレスを設定する。
メールアカウントのSMTPのサーバーは確認してください。

SMTPポートは25等メールアカウントの方で決められているものを設定する。
サブミッションポート等でポート番号が別途決められている可能性があるため、提供元から確認してください。
Gmailの場合は465

Use encrypted protocolはTLSかSSLを用いているかを設定する。
これもメールアカウントの設定に依存するため、そちらを確認してください。

Send test e-mail の E-mail address to send a test e-mail to にメールアドレスを登録すると、設定保存時にテストメールが送られます。
これでテストメールが無事届けば、設定は成功です。
上手く行かない場合は、メールの設定をよく確認してください。

触れていない部分については内容を理解した上でお好みで設定してください。

HTML Mail

環境設定 > システム > HTML Mail(admin/config/system/htmlmail)で設定する。

Step1, Step2については必要なければそのままで大丈夫です。
Step3のPost-filteringはメールに使用するテキストフォーマットを指定します。

Mail System

環境設定 > システム > Mail System(admin/config/system/mailsystem)で設定する。

New Classの
Class to use for the format() method で HTMLMailSystem を選択
Class to use for the mail() method で SMTPMailSystem を選択
一旦設定を保存してください。

HTMLMailSystem__SMTPMailSystem という新しいメール送信方法が追加されます。
これをSite-wide default MailSystemInterface classとHTML Mail module classに設定してください。
これでSMTPの設定でHTMLのメール送信ができるようになります。おめでとうございます。

要約するとメールフォーマットはHTML Mailの設定、メール送信はSMTP Mailの設定で行うクラスを作成する手法になります