このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

SendMail命令で差出人表示はするにはどうすれば??

発言者:ひろくん
( Date Thursday, June 14, 2001 10:59:40 )


PerlのSendMail命令、

  if (!open(MAIL, "| /usr/sbin/sendmail $mailto")) { exit; }
  print MAIL "From: $mailfrom\n";
  print MAIL "To: $mailto\n";
  print MAIL "Subject: $subject\n\n";
  print MAIL "$info\n";
  close(MAIL);

というコードでメールを送信するCGIを制作したのですが、
うまく送信する事ができました。

ただ、MicroSoft Outlook でメールを送信した場合には、
受信側 MicroSoft Outlook で、
 差出人 [やまちゃん] dummy@dummy.ne.jp
 (質問の為のダミーアドレスです)
というような表示になっていますね?
SendMailでも同じように差出人の名前がでるような事をしたいのですが、
方法はないでしょうか?

田中求之 さんからのコメント
( Thursday, June 14, 2001 16:20:26 )

たとえば、差出人を「田中求之」にしたいときには、

From: =?ISO-2022-JP?B?GyRCRURDZjVhRzcbKEI=?= <motoyuki@fpu.ac.jp>

というヘッダになります。JIS コードを MIME エンコードし、メールアドレスは <> で囲みます。

この書式になっていますか?

ひろくん さんからのコメント
( Thursday, June 14, 2001 19:40:51 )

どうもありがとうございました。大変助かりました。
「MIMEでエンコードし」が大きなヒントとなり、
期待通りの送信を行う事ができました。

OutLookでは、From、To、Cc、Subjectのヘッダ部はMIMEでエンコードを行っていました。
このエンコードを行って送信したか、しないかは
受信メールのプロパティで確認する事ができました。

おかげで、Subjectで英数字しか扱えなかった問題も解決しました。
sendmailでSubjectに日本語のコードを送信する場合、
MIMEエンコードかけないと文字化けのタイトルで送信されてしまいます。

詳しくは、
http://www2.startshop.co.jp/~68user/webcgi/mail-2.html
に載っていました。
このログを見られる方に参考として記述しておきます。