Linuxでsendmailというコマンドを使ってテキストファイルを添付して送信したいのですが、やり方がわかりません。発信しようとしているパソコンでメールサーバは稼動していません。主にWEBサーバとして使っています。OSはFedoraCore6です。メールサーバは他のホストのものが使えます。

回答の条件
  • 1人2回まで
  • 登録:2007/06/18 20:16:09
  • 終了:2007/06/20 18:03:52

回答(2件)

id:felix2007 No.1

felix2007回答回数600ベストアンサー獲得回数42007/06/19 04:54:12

ポイント5pt

sendmailコマンドではメールは送れまへん。

簡単に送りたいのなら、ブラウザなどについているメールソフトでsmtpを設定して、送ればいいと思います。

id:elf No.2

えるふん回答回数76ベストアンサー獲得回数82007/06/20 11:39:57

ポイント65pt

Linuxで一般的にコマンドsendmailが存在するパスの/usr/sbin/sendmailとして話を進めます.

かつそのコマンドを含むMTAとしてのsendmail,あるいはPostfixやEXIM,qmailなどが既にメールの送信ができるように設定されていることを前提とします.

簡単に書くと,下記のようにするとテキストを送ることができます.

$ cat mail.txt | /usr/sbin/sendmail -t -i '-ffrom@exampple.com'

最後はオプション「-f」と送信元メールアドレスを続けて一気に書きます.

あるいはメールヘッダーと本文が別々だった場合は下記のように書きます.

$ cat mail_header.txt mail_body.txt | /usr/sbin/sendmail -t -i '-ffrom@exampple.com'

mail_header.txtとmail_body.txtの間には空行をかならず入れてください.

日本語を含んだテキストの送信も難しいですがnkfを併用することで可能です.

$ echo 'MIME-Version: 1.0'                             > tmp.mail_header.txt
$ echo 'Content-Type: text/plain; charset=ISO-2022-JP' >> tmp.mail_header.txt
$ echo 'Content-Transfer-Encoding: 7bit'               >> tmp.mail_header.txt
$ cat mail_header.txt | nkf --mime                     >> tmp.mail_header.txt
$ cat mail_body.txt | nkf --jis > tmp.mail_body.txt
$ cat tmp.mail_header.txt tmp.mail_body.txt | /usr/sbin/sendmail -t -i '-ffrom@exampple.com'

※ちょっといくつか手抜きですけど

これで日本語のメールを送信することができます.

上記はMTAと/usr/sbin/sendmailがqmailな環境とPostfixな環境で確認しました.

お試しください.

id:Yota

最終的にhosts.allowで許可するところでつっかかりましたが、やっと送信できました。

ありがとうございました。

2007/06/20 18:02:40

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません