1990年代からWEBサーバーを使っていて、perlスクリプト(CGI)からメール送信はよく使う手法でした。迷惑メールが多くなってきてから、メールサーバーのセキュリティもアップし、従前のお約束では、迷惑メールと分類されたり、なりすましと分類されたりすることが多くなりました。今年に入ってgmailには全く送信できなくなりました。Yahooメールも迷惑メールやなりすまし分類となったり。 状況を調べると、新しいセキュリティが採用されてきているからでした //// 「さくらのレンタルサーバ 」におきまして、2024年1月31日(水)に DKIMおよびDMARCに対応いたしました。 Google社提供のメールサービスである「Gmail」において、 メール送信者に対するガイドラインの変更が発表されました。 この変更により、メールの送信者がガイドラインを満たしていない場合、 送信したメールがGmailによって迷惑メールに振り分けられたり、 エラーとして拒否されて送信者に届かない可能性がございます。 //// 新しいことに疎くなっていたので調べてみると、送信サーバーが認証されていれば、少し設定変更すればよいとわかりました。 @送信スクリプトのあるサーバードメインが認証されている(プロバイダ側の手続き、ユーザーレベルではない部分) A使用しているサーバーの自分のドメインの設定(さくらインターネットはWEBから設定、その他プロバイダでは設定済のところもあり) Bスクリプトから送信するメールのfromの部分を認証されたドメインのものにする。noreply@認証されているドメイン
だいたい以下のようなスクリプトの骨組みになっていると思います 本文は日本文字変換でjcodeのお世話になることが多いでしょう open(MAIL,"| /usr/sbin/sendmail -t"); print MAIL "To: 送り先メルアド\n"; print MAIL "From: 送信元メルアド\n"; print MAIL "Subject: タイトル\n"; print MAIL "MIME-Version: 1.0\n"; print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n"; print MAIL "Content-Transfer-Encoding: 7bit\n"; print MAIL "X-Mailer: CGI-Script\n"; print MAIL "本文\"; close(MAIL); この送信元メルアドをサーバーのあるドメインを用いた任意のメルアド文字列とします。noreply@使用しているサーバードメイン などのように。
|