こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

sendmailで送信すると、迷惑メールになります

フォームに入力された内容をperlでsendmailを使って送信すると、ウイルス対策ソフトの判定で、迷惑メールに入ってしまいます。

▼プログラム
$subject = 'テストメール';
$msg = "------------------------------------------------------------------
[名前]
$name
[住所]
$address
------------------------------------------------------------------";

# subjectをBase64エンコード
jcode::convert(\$subject, 'euc');
jcode::convert(\$subject, 'jis', 'euc', 'z');
$subject = '=?ISO-2022-JP?B?' . encode_base64($subject, '') . '?=';

# 本文をJISに変換
jcode::convert(\$msg, 'jis');

&mail($to_mail, $from_mail, $subject, $msg);

▼サブルーチン
sub mail{
my($to_mail, $from_mail, $subject, $msg) = @_;

# sendmailによるメール発信
my $sendmail= '/usr/lib/sendmail';# sendmailパス
open(MAIL,"| $sendmail -t") || &error("メール送信に失敗しました");
print MAIL "To: $to_mail\n";
print MAIL "From: $from_mail\n";
print MAIL "Subject: $subject\n";
print MAIL "X-Mailer: Mail Form Sendmail\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "Content-type: text/plain; charset=\"iso-2022-jp\"\n";
print MAIL "MIME-Version: 1.0\n\n";
print MAIL "$msg";
close(MAIL);
}

print MAIL "Content-type: text/plain; charset=\"iso-2022-jp\"\n";

print MAIL "Content-type: text/plain;\n";
にすれば迷惑メールにならずに済むのですが、一部の利用者(特にMacユーザー)で、送信されたメールが文字化けしているようですので、何とかcharsetの指定も入れたいと思っています。
上記のプログラムで、おかしいところがあるでしょうか?

どうか、ご教示いただけますよう、よろしくお願いします。

投稿日時 - 2007-06-13 16:10:34

QNo.3081386

すぐに回答ほしいです

質問者が選んだベストアンサー

プログラムには特におかしなところはないと思います。
強いて言うならX-Mailerにdummyを入れるのはどうだろう?くらいで…。

メール自動送信システムを使う限り、迷惑メールソフトをよける確実な方法は
基本的にはないと思ったほうがいいです。
だって、そんな方法があれば、それは「迷惑メール検出逃れ」の手口でもあるわけでしょう?
少なくとも簡単にあったら、むしろ困ったことです。

もしかしたら、検出ソフトはReceivedに記録される内容
(送り手が最も完全な細工をしにくいフィールドでしょう)
を見ているかもしれません。
そうなったら、送信段階でのヘッダをいくら編集してもどうしようもないですよね。

なので、受け取る側の迷惑メール検出ソフトのほうで、
そのメールの発信アドレスをホワイトリストに入れてもらうしかないと思います。

投稿日時 - 2007-06-13 17:58:52

お礼

nep0707さん、早々にご回答いただき、ありがとうございました。
やはり、受信者側で対応していただくしかなさそうですね。
ホワイトリストに入れてもらうように注意書きすることで対応することにします。

投稿日時 - 2007-06-15 09:17:24

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問