web-dev-qa-db-ja.com

コマンドラインからpostfixで添付ファイル付きのメールを送信するにはどうすればよいですか?

私はlinodeに新しいUbuntu 10.04 LTSサーバーをセットアップしました。 here の優れた指示に従って、postfixを含むいくつかの基本的なもののインストールを完了しました。

添付ファイル付きのGmailアドレスにメールを送信する方法を見つけようとしていますが、方法がわかりません。メールが私のGmailアカウントに届くことを既に確認しました。

最後に、添付ファイル付きの電子メールを送信するためにmuttを使用する必要があります。おそらく SendEmails もうまくいきますが、コマンドラインからpostfixで同じことをするにはどうすればよいですか?

この馬鹿げた質問を事前に感謝します。

10
Michael Mao

なぜ直接postfixにする必要があるのですか? mailx -amutt、またはmutt -asendmailインターフェースを使用します-yoでない限り、SMTP用に構成します。

 echo "これはテストメッセージです" | mutt -s Test -a foo.Zip-$ USER 
 echo "これはテストメッセージです" |メール-sテスト-a foo.Zip $ USER 

(注意、bsd-mailxではオプションは-A代わりに。)


とにかく、これが「後置」の例です。

置換$USER、ご使用の環境に合わせたコンテンツタイプとファイル名。例では、メッセージを自分に送信し、Zipファイルfoo.Zip現在のディレクトリ。

(printf "%s\n" \
    "Subject: test" \
    "To: $USER" \
    "Content-Type: application/Zip" \
    "Content-Disposition: attachment; filename=foo.Zip" \
    "Content-Transfer-Encoding: base64" \
    "";
 base64 foo.Zip) | sendmail "$USER"

(読者への演習として残されたMIMEマルチパートメッセージの作成)

14
user1686

Postfixは メール転送エージェント(MTA) です。その仕事は、メールの配信を処理することです。それを受け取って、ルートの次のポイントに送信します。 Postfixは郵便局員であり、その仕事は封筒を取り、(同僚の助けを借りて)封筒を受取人に運ぶことです。

ここで求めているのは秘書作業です。書類を組み立てて封筒に入れます。それはPostfixの仕事ではありません。それは mail user agent(MUA) の仕事です。 grawity did のように、シェルを数行書いてメールを作成するだけの粗雑なMUAを書くことができますが、Muttはこのタスクに最適なツールです。

コマンドラインから、私は "sendemail"を使用するのが好きです。これは、ubuntu/debianに次のようにコマンドラインからインストールできます。

apt-get install sendemail

次に、MTAとしてlocalhost(Postfix)を使用するように指示するだけです。

実際、私はlocalhost:25がデフォルトであることに気づきました:

-s SERVER[:PORT]          smtp mail relay, default is localhost:25

次に、-aフラグを使用して添付ファイルを追加します。

sendemail -f [email protected] -t [email protected] -m "This is the message" -u "This is the subject" -a file1.Zip file2.Zip
4
Docunext

mailx 12.4には、ファイルを添付するためのオプションがあります。

-aファイル
指定されたファイルをメッセージに添付します。

例えば:

 [gawad @ centos Desktop] $mail -s "pine" -a pine.rpm.gz root @ localhostEnterこれはあなたが求めた松のソフトウェアですEnterEnter
 EOT 
 [gawad @ centos Desktop] $ 
1
user228560