2012-04-10 13 views
0

sendmailを使用してperlのメールに画像とハイパーリンクを追加するにはどうすればよいですか?ハイパーリンクと埋め込み画像を含むperl sendmail

これは私が$メッセージ(変数)にしたい体である:

ファイル:filename.jpg
は(ここではインラインイメージを追加)

がされているproccessあなたがでそれを見つけることができます。 add link here `

ここでは私のコードです:
sub sendEmail
{
my ($to, $from, $subject, $message) = @_;
my $sendmail = '/usr/lib/sendmail';
open(MAIL, "|$sendmail -oi -t");
print MAIL "From: $from\n";
print MAIL "To: $to\n";
print MAIL "Subject: $subject\n\n";
print MAIL "$message\n";
close(MAIL);
}

sendEmail($receiver, 'admin, 'your file has been Synchronized', $message);

答えて

2

おそらく、MIME添付ファイルを作成できるPerlモジュールを使用する必要があります。例えば、MIME :: Liteのように、CPANに束縛があるはずです。議論を参照してください:あなたがしたいすべてがあなたのテキストメッセージに埋め込まれたシンプルなリンクを提供している場合

http://www.revsys.com/writings/perl/sending-email-with-perl.html

+0

ありがとうございました – mamesaye

2

を、あなたは、単にそれが痛みと労力関与価値はないことを決定することができます。

しかし、ここでの迅速な概要です:

use MIME::Lite; 
[...] 

# First Create your message... 
my $message = MIME::Lite->new(
    From => $from_email, 
    To  => $to_email, 
    Cc  => join(", " => @cc_addresses), 
    Subject => $subject, 
    Type => 'multipart/related', 
); 

# Now, we have to attach the message in HTML. First the HTML 
my $html_message = <<"EOM"; 
<body> 
    <p> Your File: <img src='cid:my_image.gif'/> has been processed 
     and can be found <a href="$file_url">here</a>.</p> 
</body> 
EOM; 

# Now define the attachment 
$message->attach (
    Type => 'text/html', 
    Data => $html_message, 
); 

# Let's not forget to attach the image too! 
$message->attach (
    Type => 'image/gif', 
    Id => 'my_image.gif', 
    Path => $file_name, 
); 

$message->send 
    or die qq(Message wasn't sent: $!\n); 

MIME::Liteモジュールに含まれてMIME Primerを見てみましょう。ご覧のように、単一の電子メールリンクと単一の画像を追加するだけで、私たちの大部分よりもはるかに多くの作業が必要になります。

関連する問題