アプリ版:「スタンプのみでお礼する」機能のリリースについて

 最近、PHPの勉強を始めた者です。
 初心者本を読みながら、ようやくメールを送信するところまで来ました。

 mail関数やmb_send_mail関数を使って送るというのは分かったんですが、この方法を送ったメールのヘッダにちょっと問題が・・・。

 ロリポップサーバーにムームードメインの組み合わせて使っているんですが、Yahoo!のメールアドレスに送ったメールのヘッダに


Received-SPF:none (users094.phy.lolipop.jp: domain of ◯◯◯◯@users094.phy.lolipop.jp does not designate permitted sender hosts)


というものがついてしまいます。

 別にロリポップサーバーを使ってることが知られても構わないんですが、◯◯◯◯の部分が問題でして、ロリポップ内のFTP・WebDAVで使われてるアカウントが入ってくるんです。

 これがロリポップにログインするためのアカウントを少し入れ替えただけで、使ったことある人ならモロバレの状態。

 まあ、パスワードが分からなければログインは出来ないんですが、なんだか気持ち悪いんですよね(^_^;

 調べてみるとSPFというのはメールの認証か何かだそうですが、ネットで検索しつつ、ムームードメインのDNSにして、カスタムDNSでSPFの設定をしてみても、上記のヘッダはnoneのままでついてきます。

 これを何とか消す方法はないもんでしょうか?

A 回答 (2件)

根本的な解決策ではないですが、


PEAR::Mailで外のメールサーバーを介しておくってみてはどうでしょう?
    • good
    • 0
この回答へのお礼

 はっはっはっ、
 PEARはインストールの時点で挫折しましたorz

 扱うにはもう少し勉強が必要なようです(^_^;

 ご回答ありがとうございました。

お礼日時:2014/11/08 00:13

「mail関数やmb_send_mail関数を使って送る」ときに、第5引数はどうなっていますか?



第4引数でメールヘッダのFromを指定しないとき同様、第5引数でエンベロープのmailfromを指定しなければmailfromは「デフォルトのアカウント」になってしまいます(そのアカウントでSPFがチェックされる)。

なので

mb_send_mail($to, $subject, $message, 'From: info@example.com' , '-f info@example.com');

のように、第5引数の -f オプションでも当該サーバで運用しているドメインのメールアドレスをキチンと指定すれば、そのメールアカウントのドメインで生成されるハズです。

#というか、今数パターン試して確認しました(汗
    • good
    • 0
この回答へのお礼

 まさに、それでした。

 基本が第3引数までで、第4引数で「おお、すげー、差出人も指定できるぜ。無敵!」と満足していた状態で、第5引数の存在すら知りませんでした(^_^;

 一応、良書で有名な本で勉強しているんですが、初心者向けだとそこまでは書いてないんですねぇ・・・。

 noneからpassになって、ちゃんと差出人のドメインに書き換わり万々歳です。

 ありがとうございました。

お礼日時:2014/11/08 00:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!