
WordPressでSMTPを設定する場合は、「WP Mail SMTP」などのプラグインを入れなくてもfunctions.phpにコードを追記することで設定できます。
SMTPはメールの送信をより安全に、かつ確実に行ってくれますので、確実にメールを届けたいのであれば、SMTPを設定しておくことが必要です。
コードは至ってシンプルなので、必要な情報を入手して子テーマのfunctions.phpに追記しましょう。
目次
※記事内で紹介しているHTML・CSS・JavaScript・PHPなどのコードは、作成時点における作成者の最適解です。動作環境やバージョンによって結果が異なる場合があります。コードの使用により生じたいかなる損害やトラブルについても、当サイトは責任を負いかねます。
必要な情報
必要な情報は次のとおりです。メールサーバーなどにログインして必要な情報を入手しましょう。
- SMTPサーバー
➡ConoHa WINGの場合:mail◯◯.conoha.ne.jp
➡Gmailの場合:smtp.gmail.com - ユーザー名(メールアドレス)
- パスワード
PHPコード
コードは次のとおりです。入手した情報に置き換えて、子テーマのfunctions.phpに追記しましょう。
なお、SSLは古いプロトコルでセキュリティ上の脆弱性が指摘されているため、TLSの使用が一般的です。
//STMP経由のメール送信
add_action('phpmailer_init','custom_smtp_settings');
function custom_smtp_settings( $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = 'smtp.example.com'; // SMTP サーバー
$phpmailer->SMTPAuth = true;
$phpmailer->Port = 587; // 465(SSL)か587(TLS)を使用
$phpmailer->Username = 'your-username@example.com'; // SMTP ユーザー名
$phpmailer->Password = 'your-smtp-password'; // SMTP パスワード
$phpmailer->SMTPSecure = 'tls'; // 'ssl' または 'tls'
$phpmailer->From = 'your-username@example.com'; // 送信元メールアドレス
$phpmailer->FromName = 'あなたの名前またはサイト名'; // 送信者名
$phpmailer->SMTPAutoTLS = false; // 必要に応じて追加(エラー回避用)
$phpmailer->SMTPDebug = 0;
}
SMTPとは?
SMTPは簡単にいうと「郵便屋」さんです。
あなたがポストに入れた手紙は、集荷して届けてくれる人がいないと友達の家に届きません。
その仕事をしているのが「郵便屋」さん。
インターネットの世界では、その「郵便屋」さんが「SMTP」です。
SMTPは、どこからメールが来たのかを伝え、どこにメールを届けるのか決めて、ちゃんとメールを届ける仕事をしてくれています。