人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: Yota
●カテゴリ:コンピュータ インターネット
✍キーワード:Linux OS sendmail Web コマンド
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● felix2007
●5ポイント

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

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


2 ● えるふん
●65ポイント

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な環境で確認しました.

お試しください.

◎質問者からの返答

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ