- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Received-SPFでレンタルサーバーのIDが)
レンタルサーバーでReceived-SPFの問題が発生!対策方法はある?
このQ&Aのポイント
- 最近、PHPの勉強を始めた初心者がメール送信に挑戦していますが、ロリポップサーバーとムームードメインを組み合わせている際に、Yahoo!のメールアドレスに送信すると、ヘッダにReceived-SPF:noneという警告が表示されます。これはSPF(Sender Policy Framework)に関連する認証エラーで、ドメインのメール送信元の信頼性を確認する仕組みです。しかし、SPFの設定を変更しても警告は消えません。認証エラーを解消する方法や他のメール送信手法について、詳しく調査しましょう。
- ロリポップサーバーを使用していることが知られても構わないが、問題はドメインの一部が公開されてしまうことです。ロリポップアカウントのほんの少しの情報が漏れた場合、既存のアカウントを利用してログインできる可能性があります。特に、FTPやWebDAVで使用されるアカウント情報は一般的に共有されるため、パスワードが分からなければログインはできませんが、セキュリティリスクが存在します。
- SPF(Sender Policy Framework)はメールの認証仕組みであり、メール送信元のドメインの信頼性を確認するために使用されます。SPFの設定をすることで、他のドメインから偽装されたメールの送信を防ぐことができます。しかし、ロリポップサーバーを使用している場合でも、SPFの設定をしてもReceived-SPF:noneの警告が表示されることがあります。この警告を消すためには、他のメール送信方法を検討する必要があります。メールライブラリやメールサービスを使用することで、SPFの警告を回避することができます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
「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 オプションでも当該サーバで運用しているドメインのメールアドレスをキチンと指定すれば、そのメールアカウントのドメインで生成されるハズです。 #というか、今数パターン試して確認しました(汗
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.2
根本的な解決策ではないですが、 PEAR::Mailで外のメールサーバーを介しておくってみてはどうでしょう?
質問者
お礼
はっはっはっ、 PEARはインストールの時点で挫折しましたorz 扱うにはもう少し勉強が必要なようです(^_^; ご回答ありがとうございました。
お礼
まさに、それでした。 基本が第3引数までで、第4引数で「おお、すげー、差出人も指定できるぜ。無敵!」と満足していた状態で、第5引数の存在すら知りませんでした(^_^; 一応、良書で有名な本で勉強しているんですが、初心者向けだとそこまでは書いてないんですねぇ・・・。 noneからpassになって、ちゃんと差出人のドメインに書き換わり万々歳です。 ありがとうございました。