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
  ],
],