質問
- スターサーバープラスのspf設定について
-
本文:
スターサーバーからメールを送信するとgmailで迷惑メールに分類されてしまいます。yahooでは問題ありませんでした・
spfを設定して
http://www.sendmail.co.jp/sa/spfcheck.html
で確認した場合はpassと表示されるのですが
gmailでメールのソースを見てみるとReceived-SPF: noneになってしまいます。
この質問フォーラムの質問で下記のような回答があったので設定してみましたが効果はありませんでした。
v=spf1 +ip4:112.78.117.187 -all
迷惑メールになった理由として
Google の迷惑メール フィルタが検出したメッセージに類似しています。と書かれているのですがspfを設定すれば回避できると書いてあったのでspfを設定することにしました。
下記が現在のDNSレコードの内容です
v=spf1 include:aspmx.googlemail.com a:sv6.star-plus.netowl.jp ip4:112.78.117.0/24 ~all
どのようにレコードに書けば解決するのでしょうか。
Received-SPF: passにしたいです
- 緊急度:通常投稿者:mysiteさん投稿時間:2014/06/21 13:51
回答 No.2734
-
本文:
> スターサーバーからメールを送信するとgmailで迷惑メールに分類されてしまいます。
gmailで受け取ったメールのヘッダ部分(特に、Received行を全部)を引用してごらん。
> http://www.sendmail.co.jp/sa/spfcheck.html
で確認した場合はpassと表示されるのですが
gmailでメールのソースを見てみるとReceived-SPF: noneになってしまいます。
たぶん、あなたが期待しているサーバー以外の経路でメールが送られているということ。
- 投稿者:ジョバンニさん 投稿時間:2014/06/21 19:53
質問者からのコメント
回答ありがとうございます。。
Delivered-To: ○○○○○○○○○@○○○○○○
Received: by 10.112.49.113 with SMTP id t17csp484865lbn;
Fri, 20 Jun 2014 22:56:48 -0700 (PDT)
X-Received: by 10.68.229.68 with SMTP id so4mr10403687pbc.110.1403330206480;
Fri, 20 Jun 2014 22:56:46 -0700 (PDT)
Return-Path: <△△△△△△△△@sv6.star-plus.netowl.jp>
Received: from sv6.star-plus.netowl.jp (sv6.star-plus.netowl.jp. [112.78.117.187])
by mx.google.com with ESMTP id eq15si12594744pac.222.2014.06.20.22.56.45
for <○○○○○○○○○@○○○○○○>;
Fri, 20 Jun 2014 22:56:46 -0700 (PDT)
Received-SPF: none (google.com: △△△△△△△△@sv6.star-plus.netowl.jp does not designate permitted sender hosts) client-ip=112.78.117.187;
Authentication-Results: mx.google.com;
spf=neutral (google.com: △△△△△△△△@sv6.star-plus.netowl.jp does not designate permitted sender hosts) smtp.mail=△△△△△△△△@sv6.star-plus.netowl.jp
Received: by sv6.star-plus.netowl.jp (Postfix, from userid 2416)
id 61AFE200033F; Sat, 21 Jun 2014 14:56:45 +0900 (JST)
To: ○○○○○○○○○@○○○○○○
上記はメールのヘッダー情報の抜粋です。
DNSには
v=spf1 +ip4:112.78.117.187 ~all
とセットしています。
よろしくお願いします。。
回答 No.2735
-
本文:
Envelope-From が、△△△△△△△△@sv6.star-plus.netowl.jp になっているようだから、
sv6.star-plus.netowl.jpの spfレコードを設定しないと意味がないわけですが、これはあなたには設定する権限がないので、対処不能ですね。
Envelope-From を △△△△△△△△@あなたのドメイン となるようにしないと、
v=spf1 +ip4:112.78.117.187 ~all
の設定は意味がありません。(この設定自体は正しそう)
送信するプログラムの設定(メールフォーム?)でその辺(Fromアドレス)をいじれませんか? - 投稿者:ジョバンニさん 投稿時間:2014/06/21 20:37
質問者からのコメント
phpの送信プログラムは下記のようになっています。
// メール送信
function MailSend($to,$subject,$body,$from,$bcc='',$ml_option=0,$j_from='') {
if($ml_option) {
$ml_option = "-f ".$from;
}
// header 作成
if($j_from) {
$j_from = mb_encode_mimeheader($j_from);
$from = $j_from.' <'.$from.'>';
}
$head = "From: ".$from."\r\n";
if($bcc) {
$head .= "Bcc: ".$bcc."\r\n";
}
$head .= "Reply-To: ".$from."\r\n";
//$head .= "X-Mailer: PHP/".phpversion()."\r\n";
$head .= "MIME-Version: 1.0\r\n";
$head .= "Content-Type: text/plain; charset=ISO-2022-JP\r\n";
$head .= "Date: ".date("D, d M y H:i:s O")."\r\n";
$head .= "Content-Transfer-Encoding: 7bit";
if($subject) {
$subject = "=?iso-2022-jp?B?".base64_encode(mb_convert_encoding($subject,"jis",DEFAULT_CHAR_SET))."?=";
}
$body = preg_replace("/\r\n/","\n",$body);
$body = preg_replace("/\r/","\n",$body);
$body = mb_convert_encoding($body,"jis",DEFAULT_CHAR_SET);
if($ml_option) {
$re = @mail($to,$subject,$body,$head,$ml_option);
}
else {
$re = @mail($to,$subject,$body,$head);
}
return $re;
}
これのどの部分を変更すればいいでしょうか。
回答 No.2736
-
本文:
>gmailで迷惑メールに分類されてしまいます。yahooでは問題ありませんでした・
Gmailのフィルタを使う方法がいいと思います。
条件: from:(sv6.star-plus.netowl.jp)
処理: 迷惑メールにしない - 投稿者:イクラさん 投稿時間:2014/06/21 21:16
回答 No.2737
-
本文:
> これのどの部分を変更すればいいでしょうか。
下の方の
mail($to,$subject,$body,$head,$ml_option);
を呼び出すときに、
$ml_option が "-f xxxx@あなたのドメイン" になっていればいいはずですが、どうしますかねぇ。
頭のfunction MailSend($to,$subject,$body,$from,$bcc='',$ml_option=0,$j_from='')
で、$ml_option=1 とでもしておけばいいのかな?
- 投稿者:ジョバンニさん 投稿時間:2014/06/21 21:22
質問者からのコメント
$ml_option に -f xxxx@あなたのドメイン
をセットしてReceived-SPF: passになりました。
ありがとうございます。
しかし迷惑メールに分類されてしまいます。
そして今回はyahooにも迷惑メールの扱いを受けてしまいました。
spfはpassになっていました。
yahooに関してはspfの設定をやめると正常に受信できます。
これはどうすればいいでしょうか。
spf以外のほかの方法を考えるべきでしょうか・
受信者に個別に迷惑メールの設定してもらうよりこちら側で設定して迷惑メールを回避したいと思います。
回答 No.2738
-
本文:
> そして今回はyahooにも迷惑メールの扱いを受けてしまいました。
spfはpassになっていました。
う〜ん、"-f xxx@yyy" の指定は、ある意味で「送信者を偽装する」のと同じことですから、'うさんくさいメール'と判断されるのは、ある意味仕方ないですね。
( ヘッダに、X-Authentification-warning がついて、fromの書き換えが行われたことが記録されます )
両立するのは難しいかも。。。 - 投稿者:ジョバンニさん 投稿時間:2014/06/21 21:52
質問者からのコメント
サーバーを変えるべきでしょうか。
送信者のドメインを自分のドメインにしたほうがいいでしょうか。
DKIMを設定することも考えましたがこの方法はスターサーバープラスではできないと思うのですが。
Google の迷惑メール フィルタが検出したメッセージに類似しています。
となってるので文章を大幅に変えましたが変わりません。
何か良い解決方法はありませんか。
回答 No.2739
-
本文:
> 何か良い解決方法はありませんか。
サポートにお願いして、sv6.star-plus.netowl.jpの spfレコードを設定してもらえれば一番いいと思いますが、対応してくれますかね? - 投稿者:ジョバンニさん 投稿時間:2014/06/22 09:39
回答 No.2741
-
本文:
メールで下記のように回答いただきましたのでしばらくは受信側にお願いをしていくことにしました。回答ありがとうございました。
ご希望に添えず恐縮ではございますが
現時点ではサーバー共通のホストに対して
個別のSPF設定はされておりません。
『sv6.star-plus.netowl.jp』ではなく
『netowl.jp』というホストに対してはSPFの設定がされておりますが
近日、Gmail側の仕様変更によって『〜@sv6.star-plus.netowl.jp』という
Rutern-Pathにおいては【netowl.jp】というホストにSPFを設定しても
参照されないようになっているようでございます。
サーバー毎の個別のホストへのSPF設定については
前向きな対応を検討しておりますが、対応完了時期等について
申し上げられる段階ではございません。
ひとまずは「sv6.star-plus.netowl.jp」や送信元の独自ドメインからの
メールを無条件で【受信を許可】するような設定を行っていただくなど
ご対応くださいますでしょうか。 - 投稿者:mysiteさん 投稿時間:2014/06/22 16:18
回答 No.2740
この回答がベストアンサーです
> 何か良い解決方法はありませんか。
後は、うまくいくかどうかわかりませんが、
$head .= "Return-Path: ".$from."\r\n";
を、追加してみるとか。
質問者からのコメント
// メール送信
function MailSend($to,$subject,$body,$from,$bcc='',$ml_option=0,$j_from='') {
if($ml_option) {
$ml_option = "-f ".$from;
}
// header 作成
if($j_from) {
$j_from = mb_encode_mimeheader($j_from);
$from = $j_from.' <'.$from.'>';
}
$head = "From: ".$from."\r\n";
$head .= "Return-Path: " . $from . "\r\n";
if($bcc) {
$head .= "Bcc: ".$bcc."\r\n";
}
$head .= "Reply-To: ".$from."\r\n";
//$head .= "X-Mailer: PHP/".phpversion()."\r\n";
$head .= "MIME-Version: 1.0\r\n";
$head .= "Content-Type: text/plain; charset=ISO-2022-JP\r\n";
$head .= "Date: ".date("D, d M y H:i:s O")."\r\n";
$head .= "Content-Transfer-Encoding: 7bit";
if($subject) {
$subject = "=?iso-2022-jp?B?".base64_encode(mb_convert_encoding($subject,"jis",DEFAULT_CHAR_SET))."?=";
}
$body = preg_replace("/\r\n/","\n",$body);
$body = preg_replace("/\r/","\n",$body);
$body = mb_convert_encoding($body,"jis",DEFAULT_CHAR_SET);
if($ml_option) {
$re = @mail($to,$subject,$body,$head,$ml_option);
}
else {
$re = @mail($to,$subject,$body,$head);
}
return $re;
}
このように書きましたが受信したヘッダーを見てみると
Return-Path: <○○○@sv6.star-plus.netowl.jp>
となってしまいます。
spfの追加についてはメールしました。