mailコマンドを使用して、メールを送信する際
from(差出人)が user名@ホスト名 となりますが、
社内からのメールサーバのため、インターネット側からそのホストの名前などが解決できません。プロバイダによってはそういったメールを拒否するところもあるようです。そこで、mailコマンドで差出人を変更したいのですが、似た機能のソフトはございますでしょうか。パイプでつないで、subject,cc,bccなどが指定できるものがあればいいのですが。

よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

mailコマンドで無くsendmailコマンドを使って送る方法もあります。

この場合、ヘッダを含めたメール全文を作る必要あり。例えば、
/usr/sbin/sendmail -t <<EOF
From: myname@domain.example.co.jp
Subject: なんとか
To: hisname@domain.example.com
Cc: xxxx@domain.example.co.jp
Bcc: cccc@domain.example.co.jp

本文
EOF

設定によりますが、Date: や Message-Id: は多分自動的につけてくれるはず。-t はテキスト中の送り先を使う設定で、Bcc:も処理するはず。
    • good
    • 0
この回答へのお礼

ありがとうございます。
実は、現在sendmailで逃げているのですがパイプでつなぐ際にちょっと困っていました。
-tオプションには気づきませんでした。

以下のようにすればできそうですね。
( cat <<EOF ; 処理出力 ) | sendmail -t
From: ...
Subject: ...
..

EOF

できれば、mailの様なインターフェイスであれば良いと考えています。

お礼日時:2005/04/20 23:21

ちょっと大変かもしれませんが、Muttというアプリケーションをlibesmtpパッチを適用してインストールすれば実現可能です。



ただし、libesmtpパッチは入手先を探すのがやや大変だったように思います。Googleでウェブ全体にして「mutt libesmtp」あたりで検索するとヒットしそうな気がしますが。

参考URL:http://www.mutt.org/
    • good
    • 0

こんにちは。



ディストリビューションによって修正ファイルが異なるのですが、
fedora系なら
/etc/mail/submit.cfの
#Dj$w.Foo.COM
という行を修正すればOKだと思います。

例えば希望するドメインが@hoge.jp
だとすると
Djhoge.jp
のようにDjに続けて記述します。

/etc/mail/submit.cfがなければ/etc/sendmail.cfとかかもしれません。
修正方法は同じです。

ちなみにuser名の部分はmailコマンドでは変更できません。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qmailコマンドでメール送信が出来ない

Linuxでメール送信をしようとmailコマンドを使用してみたのですが、携帯(それ以外でも)で受信することが出来ません。

**********************************************
$ mail xxxxx@xx.ne.jp(携帯のアドレスetc)
Subject: TEST
This is test.
.
Cc:
**********************************************

という感じでターミナルからコマンドでメールを送信しようとしたのですが、メールが届きません。知識不足のためどこをどうしていいのか分かりません。原因はどこなのか分かる方がいらっしゃいましたらご教授お願いします。Linux初心者なので、分かりやすく教えて頂けるとありがたいです。宜しくお願いします。

Aベストアンサー

yahoo側のメールサーバで拒否されているようですが、伏字になっている「ctladdr=<root@***>」の***の部分はホスト名+ドメイン名になっていますか?もしホスト名だけだったら送信先のホスト名とアドレスのチェックに引っかかっているのでしょう。

使用しているのがsendmailであれば、/etc/mail/sendmail.cf や /etc/hosts あたりの修正(もしかしたらDNSも)が必要と思われます。

またroot宛てにエラーメールが返ってきていれば、もうちょっとわかりやすいエラーメッセージが書いてあると思いますのでチェックしてみてください。

Qmailコマンドで外部メールに送れない

内部からmailコマンドで rootに送信すると/var/spool/mail にデータが入る、これは、要するに内部から内部に送られたと思っていいのでしょうか、今度は、内部から外部ドメインに送る
#mail xxx@yahxx.co.jp
#Subject: test
#test
#.
#Cc:
と行うと、外部に届かないのです。
sendmailは8.12.5です
考えられる事は何がありますでしょうか?

Aベストアンサー

>Oct 18 18:04:09 localhost sendmail[26578]: j9I9491Y026578: to=xxx@yahxx.co.jp,
>delay=00:00:00, mailer=esmtp, pri=30037, dsn=4.4.3, stat=queued

メールログからDSN(Delivery Status Notification)が4.4.3だからDNSが利用出来ずに送信先メールサーバが分からずメールが送信出来ていないのだと思います。
メールログにホスト名がlocalhost.localdomainと表示されているようですしネットワーク周りの設定はちゃんと行っていますか?

○RFC 3463より抜粋
 http://www.ietf.org/rfc/rfc3463.txt?number=3463
-------8<-------8<-------8<-------8<-------
X.4.3 Directory server failure

The network system was unable to forward the message, because a
directory server was unavailable. This is useful only as a
persistent transient error.

The inability to connect to an Internet DNS server is one
example of the directory server failure error.
-------8<-------8<-------8<-------8<-------

>Oct 18 18:04:09 localhost sendmail[26578]: j9I9491Y026578: to=xxx@yahxx.co.jp,
>delay=00:00:00, mailer=esmtp, pri=30037, dsn=4.4.3, stat=queued

メールログからDSN(Delivery Status Notification)が4.4.3だからDNSが利用出来ずに送信先メールサーバが分からずメールが送信出来ていないのだと思います。
メールログにホスト名がlocalhost.localdomainと表示されているようですしネットワーク周りの設定はちゃんと行っていますか?

○RFC 3463より抜粋
 http://www.ietf.org/rfc/rfc3463.txt?n...続きを読む

QPHPsendmailにて送信元を変更

PHPのsendmailにて送信元を変更させたいのですが
現在
mb_send_mail($sendto,$subject,$text,"Form:送信元アドレス")
のようにしているのですが、反映されずサーバーのアドレスにて送信されてしまいます。
ini_set関数にてセットしてみても同じでした。
メールが返信された場合に当方のアドレスまで返信されるように当方のアドレスを送信元表示させたいのですが・・
sendmailの設定を変える必要があるのでしょうか?
なにか良い方法はありませんか?

Aベストアンサー

使い方には問題のないような気が…

>mb_send_mail($sendto,$subject,$text,"Form:送信元アドレス")

"Form" → "From" の綴りの間違いだけだったりして?

Qlinuxのmailコマンドの文字化けについて

linuxのmailコマンドの文字化けについて

今Ubuntuマシンを使っているのですけど
このマシンでpostfixを使ってgmailサーバーを経由して外部にメールをおくれるように設定してあるのですが、
これでmailコマンドでドコモの携帯にメールを送るとき
mail XXX@docomo.ne.jp < (UTF-8のファイル) だと文字化けします。
mail XXX@docomo.ne.jp < (EUCのファイル) だと文字化けしません。
受信側で文字コードを変更すればいいのですが、送信側でなんとかしたいと思いました。
でメールヘッダをみると content-type:が設定されてないようなので、これのcharsetを設定したらうまくいくかもとおもいました。(そこで端末のコードUTF8を設定したい)
のですが、postfixのmain.cfのどこをみてもそのような設定はないようです。
もっとmailer側の設定なんだろうか?
どこで設定すればいいのかわかる人教えてください

Aベストアンサー

送信するメッセージのエンコード、およびそれに関するMIMEヘッダの付与はメーラー側の責任…だったかと。

postfix単体ではどうにもならないと思われます。
# SpamAssassinでチェックする方法のように外部プログラムに頼ることになる…かと。

/bin/mailでは追加のヘッダを指定することができないようですので、postfixインストール時に追加されているであろうsendmail互換プログラムを使用することになると思われます。
# CentOS5.5ならsendmail.postfixという名前で入っています。

ちなみに、sendmail.postfixで送信する場合はToヘッダなど、諸々自分で指定する必要がある…みたいです。
# そのあたりは大本のsendmailでのメール送信に関して検索すると出てくるのではないでしょうか…。

Subjectで日本語を使う場合もいろいろと決まり事がありますし…
# 一般的な日本語メールではISO-2022-JPでエンコードされているかと。

本文の部分はnkfでISO-2022-JPにエンコードで、Subjectは-Mオプションでできる…ようです。
# 手元のCentOS5.5に入っているnkfでは-MオプションだけだとSubjectヘッダにそのまま渡せるような形式にはなってくれませんでしたけど。
# なぜか終端の"?="が付かない……。しかも途中で切れている感じでしたし…。

送信するメッセージのエンコード、およびそれに関するMIMEヘッダの付与はメーラー側の責任…だったかと。

postfix単体ではどうにもならないと思われます。
# SpamAssassinでチェックする方法のように外部プログラムに頼ることになる…かと。

/bin/mailでは追加のヘッダを指定することができないようですので、postfixインストール時に追加されているであろうsendmail互換プログラムを使用することになると思われます。
# CentOS5.5ならsendmail.postfixという名前で入っています。

ちなみに、sendmail.postfixで...続きを読む

Q~以外を削除する場合(rmコマンド)

linuxのコマンドで
~以外のファイル、ディレクトリを全て削除したい時は
どのような記述をすれば良いのでしょうか?
シェルスクリプトではなくrmコマンド1つで削除したのいですが…

例: tar以外のファイル・ディレクトリを
   すべて削除したい場合など

どなたかご存知の方がいらっしゃったら
教えてください。よろしくお願い致します。

Aベストアンサー

rm コマンドのみという訳にはいきませんが基本的なコマンドを組み合わせると実現可能と思います。

「名前が tar で終わるもの以外のファイル・ディレクトリを削除する」場合だと

ls | grep -v -E 'tar$' | xargs rm -r

となります。

ファイルの一覧を取得し ( ls )
'tar'で終わるもの以外を抽出し ( grep )
その結果を rm -r の引数に指定して実行 ( xargs )

という流れです。

ファイルを削除するような操作については失敗するとダメージが大きいので、事前にテストして動作を確認すると良いとおもいます。また rm -r -i としてそれぞれのファイルについて、削除の問い合わせをするのも有効です。

Qgrepで検索文字列が完全一致した行だけ取り出す方法

grepの文字列検索で検索文字列が単語として、完全一致した行だけ取り出す方法はないでしょうか?

通常は
grep hoge hoge.txt

と打つと、hogeが含まれる行が出力されますが、今回は含まれる行ではなくて完全に文字列が一致した行だけ取り出したいのです。

例えばhoge.txtの中に
cc ghoge
kkl hogem
jjll hoge
という3行があったとしたら最後の行でhogeという文字が空白で区切られた行だけ取り出したいのです。

何かよい方法があれば教えてください

Aベストアンサー

-w オプションじゃだめですか?

参考URL:http://www.linux.or.jp/JM/html/GNU_grep/man1/grep.1.html

QSMTPメール送信で送信者名と送信者アドレスを設定したい

以前質問をさせて頂いたのですが、
自己解決しましたので、その対処方法と
それによる新たな疑問を書かせて下さい。

JavaMailを使わずSMTP通信にてメールを送る
プログラムを書いているのですが、SMTPコマンドにて 
MAIL FROM: コマンドのアドレスと
DATA From: コマンドの中身が一致しないと、
携帯にメールを送れない事が判明しました。
同じ内容ならば問題なくメールを送る事が出来るのですが、
送信者名を表示したいので、色々と試行錯誤してみましたが、
携帯で受信すると「不正フォーマット」として表示されてしまいます。
MAIL FROM:に送信者アドレスを書き、
DATA From:に送信者名のみを書くと、
不正ヘッダ情報となり携帯が受信をしてくれません。
以前の問題はそこが問題だったようです。

現在、MAIL FROM:はそのままメールアドレスを書き、
DATA From: に、
送信者名 <メールアドレス> 
"送信者名" <メールアドレス>
送信者名 メールアドレス
などとSMTPコマンドを書き換えて送ってみているのですが、
すべて「不正フォーマット」として表示されてしまいます。
お解かりになる方がいらしたらご教授して頂けると幸いです。

以前質問をさせて頂いたのですが、
自己解決しましたので、その対処方法と
それによる新たな疑問を書かせて下さい。

JavaMailを使わずSMTP通信にてメールを送る
プログラムを書いているのですが、SMTPコマンドにて 
MAIL FROM: コマンドのアドレスと
DATA From: コマンドの中身が一致しないと、
携帯にメールを送れない事が判明しました。
同じ内容ならば問題なくメールを送る事が出来るのですが、
送信者名を表示したいので、色々と試行錯誤してみましたが、
携帯で受信すると「不正フォーマット」...続きを読む

Aベストアンサー

From:が、
> 送信者名 <メールアドレス>
この形式で、送信者名を半角アルファベットだけにした場合はどうなりますか?

それで問題なかったとしたら、おそらく漢字コードとかの問題だと思います。
ヘッダがきちんと MIME encoding できているかどうか確認してみてください。

Qメール差出人名の変更

 シェルスクリプトの中でmailxコマンドを使い、自動的にメールを送信するジョブを動かしているのですが、勝手にユーザ名(real life)が添えられて送信されてしまいます。これを削除、あるいは変更したいのですが、何かいい手はありませんでしょうか? コマンドラインで使えるいいオプションがある、あるいはmailx以外にいいコマンドがある等... ちなみにわたし自身はroot権限を持っていません。

Aベストアンサー

こんにちは。

solaris8まででしたら、-rオプションでfromアドレスを変更できたように思います。

意図しているものと違ったらすみません。

Qpostfixでdocomoやyahooなどのメールアドレスに送信できない

FedoraCore3でpostfixを使って自宅サーバを立ち上げているのですが、Docomoの携帯メールアドレスやyahoo.co.jp、ybb.ne.jpなどのメールアドレスにメールが送信できないんです。
他のメールアドレス(会社のアドレス*****.co.jp)には送信できますし、LAN内外からのサーバアドレス同士には送受信ともできます。また、受け取る事はどこからでも(yahoo.co.jp、ybb.ne.jp、DoCoMoからでも)できます。
メールのエラーログには以下のように記載されています。

May 23 17:45:23 ***** postfix/qmgr[15495]: warning: connect to
transport smtp-amavis: Connection refused
May 23 17:45:33 ***** postfix/smtp[15606]: connect to yahoo.co.jp
[210.80.243.14]: Connection timed out (port 25)
May 23 17:45:33 ***** postfix/smtp[15606]: 954001400EA:
to=<*****@yahoo.co.jp>, relay=none, delay=2636, status=deferred
(connect to yahoo.co.jp[210.80.243.14]: Connection timed out)

また、返信されるエラーメッセージは

This is the Postfix program at host *****.

I'm sorry to have to inform you that your message could not be
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to <postmaster>

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

The Postfix program

<*****@yahoo.co.jp>: connect to yahoo.co.jp[210.81.150.5]: Connection
timed out

となっています。

現在、自己解決できずに困っています。
どなたか解決方法をご存知の方ご教授願えませんでしょうか?

FedoraCore3でpostfixを使って自宅サーバを立ち上げているのですが、Docomoの携帯メールアドレスやyahoo.co.jp、ybb.ne.jpなどのメールアドレスにメールが送信できないんです。
他のメールアドレス(会社のアドレス*****.co.jp)には送信できますし、LAN内外からのサーバアドレス同士には送受信ともできます。また、受け取る事はどこからでも(yahoo.co.jp、ybb.ne.jp、DoCoMoからでも)できます。
メールのエラーログには以下のように記載されています。

May 23 17:45:23 ***** postfix/qmgr[15495]: warnin...続きを読む

Aベストアンサー

>May 23 17:45:33 ***** postfix/smtp[15606]: connect to yahoo.co.jp[210.80.243.14]: Connection timed out (port 25)

そもそも、@yahoo.co.jp宛てメールをyahoo.co.jpに送ろうとしている、つまり、@yahoo.co.jpのメールアドレスを管理しているメールサーバにメールを送ろうとしていないのが問題だと思います。
間違ったサーバ(ホスト)に接続しに行って、反応がないためにタイムアウトになってメールが送れずにいる状態に思えます。

手元にあるPostfix環境だと以下の通りになってます。

------8<------8<------8<------8<------8<------8<------
May 23 19:54:03 hostname postfix/smtp[37829]: 295BF731C4: to=<*******@yahoo.co.jp>, relay=mta06.mail.yahoo.co.jp[202.93.83.236], delay=1, status=sent (250 ok dirdel)
------8<------8<------8<------8<------8<------8<------
※relayの所にあるホストが@yahoo.co.jp宛てのメールサーバの1つです。


どのDNSサーバ(独自 or ISP)を参照しているのか分かりませんが、DNSでMXレコードが正常にひけていますか?

確認例)
# nslookup -type=mx yahoo.co.jp

また、PostfixはDNSを利用しているのでしょうか?

確認例)
・Postfix 1系
# postconf -h disable_dns_lookups
no

・Postfix 2系
# postconf -h smtp_host_lookup
dns
 

>May 23 17:45:33 ***** postfix/smtp[15606]: connect to yahoo.co.jp[210.80.243.14]: Connection timed out (port 25)

そもそも、@yahoo.co.jp宛てメールをyahoo.co.jpに送ろうとしている、つまり、@yahoo.co.jpのメールアドレスを管理しているメールサーバにメールを送ろうとしていないのが問題だと思います。
間違ったサーバ(ホスト)に接続しに行って、反応がないためにタイムアウトになってメールが送れずにいる状態に思えます。

手元にあるPostfix環境だと以下の通りになってます。

------8<---...続きを読む

Q送信したメールを確認する方法

mail のコマンドで受信メールは見れると思います。
送信したメールを確認する場合、何かコマンド等あるのでしょうか?

Aベストアンサー

送信済みメールはデフォルトで削除されたと思います。
配送通知のオプションはデフォルトで/return(失敗を通知)だったと思いますので
returnが返ってこなければ送信OKでは?
/var/mail/ユーザ名ファイルには送信済みメールが保存されたと思います。
mailは使わないので記憶での回答ですみません。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報