cakephpは標準でメール送信する場合はデフォルトはphpでメール送信しているようだけど、これをするとGoogleのGmailではヘッダー情報にある送信者とサーバのドメインの違いによりサーバの送信情報が「経由」という文字と共に表示されてしまう。
下手するとスパム判定され迷惑メールへ振り分けられることも。他のウェブメールやメーラではあまりそんなこと起きないのだが、それほどGmailはセキュリティが高いということなのだろうか。
いくらヘッダー情報を設定してもなぜかGmailで受信した時は「経由」と出てしまい、クライアントはこれをなんとかして欲しいとのことで、SMTPでメール送信を行うと解決した。
しかし、これはSMTP送信する用のメールアドレスを準備し、この情報でメールを送ることになるため、変更が聞かない。Gmailで経由を消したいという人に限っての方法にしたけど、他の方法もあるんだろうからとりあえずは今回はこれで。
【app_local.phpにheteml用を追加】
'Email' => [
'default' => [
'transport' => 'default',
'from' => 'you@localhost',
/*
* Will by default be set to config value of App.encoding, if that exists otherwise to UTF-8.
*/
//'charset' => 'utf-8',
//'headerCharset' => 'utf-8',
],
// 以下を追加
'heteml' => [
'transport' => 'heteml',
],
],
【EmailTransportにヘテムル用を作成】
'EmailTransport' => [
'default' => [
'host' => 'localhost',
'port' => 25,
'username' => null,
'password' => null,
'client' => null,
'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),
],
// 以下を追加
'heteml' => [
'host' => 'smtp.hetemail.jp',
'port' => 587,
'username' => "test@○○○○.○○○",
'password' => "password",
'className' => "Smtp", // default が Mail
],
],