こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

FreeBSDでのsendmailでのメール送信

はじめまして
FreeBSD11.0で自前サーバ構築をしています。

今回、サーバ上からsendmailで、下記ページを参考にメールを送信を試みています。
http://x68000.q-e-d.net/~68user/unix/pickup?sendmail


FreeBSD11.0上での作業は、以下の通りです。
1. /etc/rc.confに下記を追加
sendmail_enable="YES"
2. リブート
3. sendmailが動作していることを下記で確認
# /etc/rc.d/sendmail status
sendmail is running as pid 713.
sendmail_msp_queue is running as pid 716.
#

4. sendmailコマンドを実行
% sendmail
From:送信元メールアドレス
To:宛先メールアドレス
Subject:タイトル

xxx

.
%

●結果、コマンドは、正常に終了してますが、メールは、送信できません。

試しに自分の契約しているレンタルサーバ(FreeBSD9.1)で上記の4.のsendmail
コマンドを実行すると、メール送信ができます。

環境設定など作業上なにが足らないのでしょうか。
FreeBSDのsendmailコマンドでの送信についてご存知の方がおりましたらご教示頂け
ないでしょうか。

いろいろと調べたり試行錯誤したのですが、解決できなく質問をさせて頂きました。
よろしく、お願いいたします。

投稿日時 - 2017-04-22 23:09:43

QNo.9320646

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

> netstatで見ると587ポートでリッスンできているようで、

これは全く関係ありません。自ホストで587で受信する話じゃなくてプロバイダメールサーバーの587に送る話です。このあたりの区別が付いていないレベルだと、メールサーバー構築は難しいかもしれません。

お礼に書かれたログは、sendmailコマンドが、自ホストのsendmailデーモンに正常にメールを渡したと言うことで、今回あまり関係ありません。現時点では、sendmailの送信キューに溜まっているはずです。mailq コマンドでキューに溜まっている物が表示されます。

設定方法は、「sendmail OB25」で検索してみてください。
例えば、http://jehupc.exblog.jp/19944409/ とか。

投稿日時 - 2017-04-23 12:29:37

お礼

>> netstatで見ると587ポートでリッスンできているようで、
>これは全く関係ありません。自ホストで587で受信する話じゃなくてプロバイダメールサーバーの587に送る話です。
ご指摘ありがとうございます。
全く筋違いだったことですね。

>自ホストのsendmailデーモンに正常にメールを渡したと言うことで、今回あまり関係ありません。現時点では、sendmailの送信キューに溜まっているはずです。mailq コマンドでキューに溜まっている物が表示されます。
ご指摘どおり、、mailqコマンドで送信キューに溜まっていました。

>設定方法は、「sendmail OB25」で検索してみてください。
>例えば、http://jehupc.exblog.jp/19944409/ とか。
上記で、今一度、検索、確認したいと思います。

ありがとうございます。

投稿日時 - 2017-04-23 15:10:36

ANo.1

もしかして、自宅内サーバーであれば、SMTPの使う25番ポートはプロバイダがブロックしています。スパムメール対策です。

自宅内サーバーからメールを送るのは、PCのメールアプリに設定したように、プロバイダのメールサーバーに別のポート番号で接続してユーザー認証した上でメールを送る必要があるので、sendmailにそういう設定が必要です。
検索すればpostfixだとそういう設定例が幾つも見つかると思いますが、sendmailはどうかなぁ。

投稿日時 - 2017-04-23 08:55:20

お礼

早くの回答ありがとうございます。

ご指摘のsendmail ポート25番のブロックについて探してみたら、下記のようなページが見つかり
http://pocketstudio.jp/linux/?FC4%2Fsendmail%2FSMTP%A5%DD%A1%BC%A5%C825%C0%A9%B8%C2%C2%D0%BA%F6%A4%CE%A5%B5%A5%D6%A5%DF%A5%C3%A5%B7%A5%E7%A5%F3%A1%A6%A5%DD%A1%BC%A5%C8(Submission%20Port)%CD%F8%CD%D1

senmail.mcを見ると、O DaemonPortOptions=Port=587, Name=MSA, M=Eの行があり、
確実なところはわかっていませんが、ネット情報をもとに
netstatで見ると587ポートでリッスンできているようで、25番ポートの対応はできているのか
のかなと。(正確なところはわかっていません)

# netstat -na|grep LISTEN
tcp4 0 0 *.587 *.* LISTEN
tcp6 0 0 *.25 *.* LISTEN
tcp4 0 0 *.25 *.* LISTEN
tcp4 0 0 *.22 *.* LISTEN
tcp6 0 0 *.22 *.* LISTEN
root@BSD_normal:/etc/mail #

またFreeBSDのファイアウォールも気になったのですが、FreeBSDではデフォルトでは
ファイアウォール機能はOFFでそのままです。(/etc/rc.confにfirewall_enable="YES"は追記していない)

と現状では、まだ解決に至れておりません。

ちなみに、FreeBSD11.0は、自宅WindowsPC上のVirtualbox ブリッジ接続です)

なにか、気になる点や情報あれば、教えていただければと思います。
よろしくお願いいたします。

参考まで下記に実行ログを添付します。
# sendmail -v aaaa@xxx.jp
From:aaaa@xxx.jp
To:aaaa@xxx.jp
Subject:test

xxx

.
aaaa@xxx.jp... Connecting to [127.0.0.1] via relay...
220 BSD_normal.localdomain ESMTP Sendmail 8.15.2/8.15.2; Sun, 23 Apr 2017 11:26:17 +0900 (JST)
>>> EHLO BSD_normal.localdomain
250-BSD_normal.localdomain Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-STARTTLS
250-DELIVERBY
250 HELP
>>> STARTTLS
220 2.0.0 Ready to start TLS
>>> EHLO BSD_normal.localdomain
250-BSD_normal.localdomain Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-DELIVERBY
250 HELP
>>> MAIL From:<opti@BSD_normal.localdomain> SIZE=65
250 2.1.0 <opti@BSD_normal.localdomain>... Sender ok
>>> RCPT To:<aaaa@xxx.jp>
>>> DATA
250 2.1.5 <aaaa@xxx.jp>... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .
250 2.0.0 v3N2QHdW000893 Message accepted for delivery
aaaa@xxx.jp... Sent (v3N2QHdW000893 Message accepted for delivery)
Closing connection to [127.0.0.1]
>>> QUIT
221 2.0.0 BSD_normal.localdomain closing connection
#

投稿日時 - 2017-04-23 11:34:40