web-dev-qa-db-ja.com

メール本文と一緒にインラインとして写真の添付ファイルをメール

私は現在、添付ファイル(.png pics)を電子メールで送信するためのスクリプトを使用しています。 -aオプションを指定してmuttコマンドを使用しているため、電子メールは添付ファイルとして送信されます。

これらの.png画像をメール本文とインラインでメールで送信したいと思います。これをbashスクリプトで実装するにはどうすればよいですか?

mailコマンドも試してみましたが、結果は同じでした。また、Perlスクリプトで実行できるのであれば、これについて何かアイデアがあればいいのですが。

2
Kratos

デフォルトでは、muttはすべての非テキスト添付ファイルと画像にContent-Disposition:attachmentとしてラベルを付けます-Content-Disposition:inlineを使用してこの設定を変更できます

.muttrcを次のように設定します。

set attach_format="%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] "

(%Iはインライン用で、他のオプションはマニュアルに記載されています: http://linux.die.net/man/5/muttrc

あるいは、このPerlスクリプトはあなたを助けるかもしれません:

 #!/usr/bin/Perl -w
 use strict;
 use Mail::Sender;

 my $sender;

 ref ($sender = new Mail::Sender({from => 'you@xxxxxxxxxxx',
                                  smtp => 'your.smtp.server'})) 
        or die "$Mail::Sender::Error\n";

 ref ($sender->MailFile({to =>'address@xxxxxxxxxx',
                         msg=>"Here's your daily image\r\n\r\n", 
                         subject => 'Daily image',
                         file => 'image.gif',
                         disposition => 'inline'}))
        or die "$Mail::Sender::Error\n";
2
BorisHajduk