softbank携帯のみメールが届きません
softbank携帯のみメールが届きません
SNSサイトをphpで制作しているのですが、
紹介制SNSの「お友達紹介」にて、
フォームから、
・お友達のメールアドレス
・紹介内容を
入力すると、入力されたお友達のメールアドレスへ
紹介メールが配信されるプログラムを制作したのですが
docomo、au携帯であればメール受信できるのですが
softbankのみメール受信できず、困っています。
▼プログラムソース(メール送信プログラム)
require_once "MailUtil.php";
(MailUtil.phpについては下記に掲載)
if (getPostParam("exec")=="1") {
// 絵文字変換を行う
$body = getPostParam('body', 'decodeEmoji', array(whichCarrier()));
$to = preg_replace('![\n\r\t]!', '', getPostParam('to'));
if (strlen($body)==0) {
$errors[] = "メッセージが入力されていません。";
}
if (strlen($to)==0) {
$errors[] = "Toが入力されていません。";
}
// エラーがなければ投稿内容保存処理を実行
$message = "";
if (count($errors)==0) {
// Fromを抽出する
$subject = "SNSへのご招待";
$body = "$user['name']."さんから招待状が届いています";
$addMailHeader = <<<END
From: info@xxx.jp
Cc: support@xxx.jp
END;
$subject=mb_convert_encoding($subject,"JIS","auto");
$body=mb_convert_encoding($body,"JIS","auto");
//メール返信
mb_language('ja');
mb_send_mail($to, $subject, $body, "$addMailHeader", "-t");
//メール送信プログラム
$message = "メールを送信しました。";
} else {
// データベース接続エラー
$errors[] = "メールを送信できませんでした。";
}
}
▼プログラムソース(MailUtil.phpプログラム)
(※)MailUtil.php では、携帯メールアドレスであれば下記のメールヘッダーで
送信されるように設定。
function sendMailMobile($subject, $body, $from, $to, $server_config)
{
$subject = '=?Shift_JIS?B?' . base64_encode($subject) . '?=';
$body = base64_encode($body);
// メールヘッダー設定
$headers['MIME-Version'] = '1.0';
$headers['Content-Type'] = 'text/plain; charset=Shift_JIS';
$headers['Content-Transfer-Encoding'] = 'base64';
// メール送信
$mail_object =& Mail::factory('smtp', $server_config);
$send_result = $mail_object->send($recipients, $headers, $body);
if ($send_result===true) {
return true;
}
return false;
テストに使用しているsoftbank端末は、メールを全て受信するように設定しています
ソース内容をそのまま記載しており、分かりにくいご質問で大変
恐縮ですが、どなたかお分かりの方がいらっしゃいましたら何卒よろしくお願い申し上げます。