LoginSignup
1
0

いまさらだけどCakeEmailでGmailにメール送信できないときの対処法

Posted at

まだCakePHP2を使っているサービスがあって、2024年2月中旬からGmailにメール送信しても届かなくなった。

サーバー:さくらインターネット
ドメイン管理:Value Domain

Gmailに送るとpostmaster@初期ドメインにエラーメールが届く

DKIM = did not pass
SPF [hoge@hoge.sakura.ne.jp] with ip: [xx.xx.xx.xx] = did not pass

さくらのページを見たらどうやらSPFを設定しないといけないらしい

Googleのページを見てもSPFを設定しないといけないらしい

さくらのページに書いている通りValue DomainのDNS設定に

txt @ v=spf1 a:ホスト名 mx ~all

を入力してみる。

しかしGmailに届かない‥

届いていたころのGmailのメールソースを見ると

SPF NONE(IP: xx.xxx.xxx.x)

NONEだけど2024年2月まで届いていたらしい。

さくらに問い合わせる

「SMTP認証してくだいとのこと」

え、SPFの設定とかじゃないの???

Cakeの設定を見直してみる

こちらを参考

/app/Config/email.php

class EmailConfig {
    // さくらインターネットを例
    public $sakura = array(
        'host' => '______.sakura.ne.jp',  // 初期ドメイン
        'port' => 587,
        'username' => 'username@______.sakura.ne.jp', // ユーザ名:
        // 初期ドメインのメールアドレスもしくは、独自ドメインのメールアドレス
        'password' => 'password',           // メールパスワード
        'transport' => 'Smtp',
    );
}

    $email = new CakeEmail( 'sakura');                        // インスタンス化
    $email->from( array( 'sender@domain.com' => 'Sender'));  // 送信元
    $email->to( 'reciever@domain.com');                      // 送信先
    $email->subject( 'メールタイトル');                      // メールタイトル
    $email->send( 'メール本文');  

いままでSMTP認証しないで送れていただけだった‥

Gmail側で受信できた!

再度、Gmailのメールソースを見ると

SPF: PASS(IP: xx.xxx.xxx.x)

やったー!

そろそろCakePHP5にしないと‥

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0