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の指定も入れたいと思っています。
上記のプログラムで、おかしいところがあるでしょうか?
どうか、ご教示いただけますよう、よろしくお願いします。
補足
メーラは、yahoo.co.jpのホットメールです。 fromのアドレスは、DonotReply@aaa.co.jpです。