sendmailでメールを送信する

perlの仕事はたまにだから久しぶり。smtpで送っていたメールをsendmailに変更するというもの

#!/usr/lib/perl
require "jcode.pl";
$sendmail = '/usr/lib/sendmail';

$to = ""; # 宛先アドレス
$from = ""; # 送信元アドレス
$subject = "標題";
$body = "メール本文";

# 本文をJISコードへ変換
&jcode'convert(*body,'jis');
&jcode'convert(*subject,'jis');
$subject = mimeencode($subject);


# ファイルハンドルをsendmailへ紐付け
open(MAIL,"| $sendmail -t");

# sendmailへコマンドの出力
print MAIL "To: $ton";
print MAIL "From: $fromn";
print MAIL "Subject: $subjectn";
print MAIL "n";
print MAIL "$bodyn";
close(MAIL);

smtpで送っている内容を「print MAIL」に入れると簡単に変えることができた。

エラー処理は、

 

if ($? ne '0') {
  return $?;
}
という感じでやれる。「$?」にエラーが入っているので、それを見ると良い。「0」だったら正常に終了したということ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です