まだ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にしないと‥