回答:
Ubuntuリポジトリ内のすべてのメールユーザーエージェントのうち、muttは長期サポートに恵まれているコマンドラインMUAのようです。
mutt -a myfile.txt -s "Here's my file" -- me@example.com
ただし、メール転送エージェントも必要なため、どこにも移動しません。人気のあるものは:
Canonicalがサポートしていると思われるものは、postfix(Steveの修正に感謝)とexim4だけです。
一つは、また、その言うことができるのxdg-電子メールは、適切UbuntuのMUAですが、それだけで実行最低限のフロントエンドでお好みのMUAをあなたに代わって。
どのMTAが使用に適しているかについてアドバイスが必要な場合は、ここで別の質問を開いてください。
mutt
コマンドは広告どおりに機能しました。ちなみに、nullmailerには偽のsendmailフロントエンドがあり、sendmailと対話することを期待するほとんどのプログラムは、私からの労力なしで実際のMTAにシャッフルされます。
添付ファイルの送信にも問題がありました。添付ファイルなしでメールを送信した場合、成功しましたが、添付ファイルがありませんでした。この問題は、との存在だったsendemail
、mutt
、mail
、mailx
、uuencode
コマンド。
幸いなことに、面白く解決されました。メールの送信にGmailを使用しています。http://www.linuxandlife.com/2013/01/send-email-from-linux-terminal.htmlで宣言されているように、ターミナルでコマンドを使用してメールを送信するようにGmailを構成できます 。
次を使用してテキストメールを送信できます。
mail -s "hello" RECEIVE@mail.com < /home/masoud/YOURFILE.txt
ただし、以下と同じファイルを添付ファイルとして送信することはできません。
mail -s "hello" RECEIVE@mail.com -a /home/masoud/YOURFILE.txt
または:
mail -s "hello" -a /home/masoud/YOURFILE.txt RECEIVE@mail.com
最後に、この形式のみが添付ファイルを送信できることを理解しました。
echo "your message here" | mail -s "title" -a /home/masoud/YOURFILE.txt RECEIVE@mail.com
面白いことに、違いは「エコー」コマンドの存在です。
添付ファイルの-a
オプションが大文字 -A
に変更されたようです。-a
ヘッダを変更するように思わDOC
.zshrc
誰かにファイルをmail
送信しようとしていましたが、クイックメッセージを送信するために多くを使用していましたが、添付ファイルを送信しようとしても機能しませんでした。引数の順序が非常に重要であることを認識できることを確認する必要がありました。これは私のために働いた:mail -s "zshrc" -a ~/.zshrc username@example.com
...もちろん、私はまだメッセージ本文を入力ctrl+d
し、最後の空白行にヒットしなければなりませんでした。
mail username@example.com -a ~/.zshrc
すると、メッセージは送信されますが、ファイルは送信されないという点で「機能」しました。私が試しmail username@example.com -a ~/.zshrc -s 'zshrc'
たなら、受信者アドレスの後のパラメータが無視されていることは明らかだったでしょう。
シェルからファイルを送信することもできますが、それ以外の場合はThunderbirdを使用します。
この場合、try thunderbird -remote ...
は便利です-thunderbirdが通常実行されていると仮定すると:
このコマンドは、実行中のThunderbirdインスタンスのメール作成ウィンドウを開きます。
「差出人」アドレスは、thunderbirdで設定されたデフォルトのアドレスです。
また、既存のアカウント設定が使用されるため、個別のセットアップは必要ありません。
you@example.com
件名が「S」、本文が「B」、添付ファイルがの宛てのメールの/some/absolute/file.txt
場合、コマンドは
thunderbird -remote "xfeDoCommand(composeMessage,subject='S',to='you@example.com',body='B',attachment='/some/absolute/file.txt')"
2つの問題があります。
添付ファイルは絶対パスで指定する必要がありますが、実際には退屈です。これは、readlink -f
相対パスを解決するために使用することで処理できます。
thunderbird -remote "xfeDoCommand(composeMessage,subject='S',to='you@example.com',body='B',attachment='$(readlink -f file.txt)')"
また、コマンドは長くなります。4つの引数を持つシェルスクリプトまたはシェル関数を使用します。
thunderbird-compose () {
thunderbird -remote "xfeDoCommand(composeMessage,subject='$1',to='$2',body='$3',attachment='$(readlink -f $4)')"
}
この関数を使用すると、コマンドが読み取り可能になります。
thunderbird-compose 'Some Subject' test@example.com 'Body of message' file1
サンダーバードの「書き込み」ウィンドウが開き、添付ファイル、From、To、Subject、および本文が入力されます。送信前に編集できます。
heirloom-mailx
debianのパッケージは、mailx
MIME添付ファイルを簡単に送信するコマンドを提供します。次は私のために働く;
mailx -a attachment.zip -s subject rctp@domain.to
mail
mailx
-a
本文に添付ファイルを追加するために使用される別の回答を追加したいと思います。乾杯!!
echo "This is the message body" | mutt -a "/path/to/file.to.attach" -s "subject of message" -- recipient@domain.com
mail
(別名mailx
)はMIME無知であるため、1980年以外の方法で添付ファイルを処理することはできません。これはいい質問です。標準的なCanonical MUAを探しています。もっと来る。