Perl でSMTPサーバを指定してメールを送信するサンプルです。
題名、本文とも、日本語対応です。
赤字の箇所を変更して使用して下さい。
use Encode; use Net::SMTP; use warnings; use strict; use utf8; sendmail( '差出人' , '宛先' , '題名' , "本文1行目\n本文2行目..." ); sub sendmail { my $from = $_[0]; my $mailto = $_[1]; my $subject = Encode::encode( 'MIME-Header-ISO_2022_JP' , $_[2] ); my $header = "From: $from\n" . "To: $mailto\n" . "Subject: $subject\n" . "Mime-Version: 1.0\n" . "Content-Type: text/plain; charset = ISO-2022-JP\n" . "Content-Trensfer-Encoding: 7bit\n"; my $message = Encode::encode( 'iso-2022-jp' , $_[3] ); my $smtp = Net::SMTP->new( 'SMTPサーバ' ,Port=> "587"); if ( !$smtp ) { print encode('iso-2022-jp', "メールサーバーにアクセスできません\n"); exit; } $smtp->mail($from); $smtp->to($mailto); $smtp->data(); $smtp->datasend($header); $smtp->datasend($message); $smtp->dataend(); $smtp->quit; }
コメント