PHP CI と sendgrid開発サービスが携帯キャリアメール宛に送信不可
背景
初めまして。php 言語(codeigniter)で開発し、メール送信機能はsendgrid(SMTP)というサービスを利用中です。
ただ携帯キャリアメール宛にメールが届かないという問い合わせがあるそうですが、sendgridのactivities画面で確認したところ該当のメールが「Delivered」というステータスとなっているのですが、実際にメールが届かないです。特に迷惑メール拒否のフィルターが設定されているドコモとAU社の携帯キャリアメールです。
SPF認証等で送信ヘッダーに「FROM」と 「FROM ENVELOP」もう追加済みですが、結果が変わらず送信不可能でした。
どうやってこの問題を解決できるのか迷惑メール或いはなりすましメールの回避策等ご教授いただけますと幸いです。
補足ですが、メール文面にはほとんどテキスト、HTMLがなく。機能によってURLもメール文面に入ることがあります。
該当するソースコード
$CI =& get_instance();
$CI->load->library('email');
try {
$CI->email->initialize(array(
'protocol' => getenv('PROTOCOL'),
'smtp_host' => getenv('SMTP_HOST'),
'smtp_user' => getenv('SMTP_USER'),
'smtp_pass' => getenv('SMTP_PASS'),
'smtp_port' => getenv('SMTP_PORT'),
'charset' => 'utf-8',
'mailtype' => 'html',
'wordwrap' => true
));
$CI->email->from($from, 'project name');
$CI->email->to($to);
$CI->email->subject($subject);
$CI->email->message($message);
if (!empty($attach)) {
if (is_array($attach)) {
foreach ($attach as $attac) {
$CI->email->attach($attac['path'], 'attachment', $attac['name']);
}
} else {
$CI->email->attach($attach);
}
}
$CI->email->send();
} catch (Exception $e) {
return false;
}
0 likes