質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Sendmail

Sendmailは、インターネットで電子メールを送受信するサーバソフトウェア(MTA)です。ユーザーが送信したメールを受け、他メールサーバへ引き渡しバケツリレー式に配送したり、届いたメールをユーザーが受け取るまでの間保管するといった働きをします。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

2回答

14646閲覧

CentOS6.5 sendmailで外部へのメール送信ができない

setsu_tenhou

総合スコア33

Sendmail

Sendmailは、インターネットで電子メールを送受信するサーバソフトウェア(MTA)です。ユーザーが送信したメールを受け、他メールサーバへ引き渡しバケツリレー式に配送したり、届いたメールをユーザーが受け取るまでの間保管するといった働きをします。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2017/01/14 13:31

sendmailでメールの外部送信 stat=Service unvailableとは?
linux CentOS6.5でメールサーバを構築しています。
外部へのメール送信ができなく、op25Bに引っかかっていることがわかり、対策をして、いざ送信としたところ、以下のようなログが出力されました。(一部伏せ字)
何が原因で外部へのメールが送信できないのでしょうか?

ちなみに、対策は下記のページを参考に行いました
https://centossrv.com/op25b.shtml

#mail ******.icloud.com

cat /var/log/maillog


Jan 14 14:32:57 localhost sendmail[4345]: v0E5WvFr004345: from=mypc, size=222, class=0, nrcpts=1, msgid=201701140532.v0E5WvFr004345@localhost.localdomain, relay=root@localhost
Jan 14 14:32:57 localhost sendmail[4346]: v0E5Wv3m004346: from=mypc@localhost.localdomain, size=490, class=0, nrcpts=1, msgid=201701140532.v0E5WvFr004345@localhost.localdomain, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Jan 14 14:32:57 localhost sendmail[4345]: v0E5WvFr004345: to=******@icloud.com, ctladdr=mypc (500/500), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30222, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (v0E5Wv3m004346 Message accepted for delivery)
Jan 14 14:32:57 localhost sendmail[4348]: STARTTLS=client, relay=smtp.ocn.ne.jp., version=TLSv1/SSLv3, verify=FAIL, cipher=AES128-GCM-SHA256, bits=128/128
Jan 14 14:32:58 localhost sendmail[4348]: v0E5Wv3m004346: to=******@icloud.com, delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=120490, relay=smtp.ocn.ne.jp. [153.149.231.65], dsn=5.7.1, stat=Service unavailable

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ynakano

2017/01/14 13:48

Yahoo知恵袋とマルチポストしていませんか?
setsu_tenhou

2017/01/14 13:57

マルチポストっていうんですね マナー的によろしくないようなので削除してきました すみませんでした。
ynakano

2017/01/14 14:07

そうですね。teratailのヘルプにも非推奨事項として記載されています。
guest

回答2

0

smtp.ocn.ne.jp の 587番ポートを使うのであれば、OCN のユーザー/パスワードで認証(SMTP-Auth)が必要なのでは?
telnet smtp.ocn.ne.jp 587 の出力を見ると、暗号化(STARTTLS)なしでも受け付けてくれそうですが、openssl s_client で暗号化した方がいいと思います。
HELO/EHLOMAIL FROM の間に AUTH を入れて認証を通すと、RCPT TO で任意のメールアドレスに送信できませんでしょうか。

あらかじめ認証用の文字列を生成しておく。 ユーザー名: user@ocn.ne.jp、パスワード: password の場合: # echo -en '\0user@ocn.ne.jp\0password' | base64 AHVzZXJAb2NuLm5lLmpwAHBhc3N3b3Jk # openssl s_client -connect smtp.ocn.ne.jp:587 -starttls smtp -crlf (以下、入力のみ記載) EHLO localhost.localdomain AUTH PLAIN AHVzZXJAb2NuLm5lLmpwAHBhc3N3b3Jk MAIL FROM: user@ocn.ne.jp RCPT TO: ***@icloud.com DATA (任意の文字列) . QUIT

上記で送信できるのであれば、sendmail の authinfo まわりの設定が合っていないのだと思います。

投稿2017/01/16 04:20

TaichiYanagiya

総合スコア12141

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

setsu_tenhou

2017/01/16 13:40

回答どうもありがとうございます。 試したところエラーでした。 しかし今更ながら大変なことに気づいてしまいました。 私のPCのプロバイダーさんであるOCNさんのホームページにいって、OCN会員登録証に記載されているメールアドレス メールパスワードでログインしようとしたところ。 なんとログインできませんでした。 設定した当人に聞いたところ、もう何年も前に設定したから覚えてないとのことです。。。 多分、登録証に記載されている「ご希望のメールアドレスに変更することをおすすめします」とかかれているので、その通りにしたのでしょう。 プロバイダー経由ではなく、gmailなど他のメールサービスを経由する設定にしてみようと思います。 お騒がせして申し訳ありませんでした。
guest

0

ベストアンサー

参照されたURLの「送信元メールアドレス書き替え設定」はしてありますか?
送信元のドメイン名が"localhost.localdomain"となっているので、OCNに送信する前に送信元アドレスを書き換えてOCNドメインにする必要があります。

投稿2017/01/14 13:51

ynakano

総合スコア1894

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

setsu_tenhou

2017/01/15 08:19

回答どうもありがとうございます。 しっかりと設定できているんですけどね。。。 なんでうまくいかないのでしょう。。。。。。 思い切って、一度sendmailをアンインストールして、さらにすべての設定ファイルを真っ白にしてから再度すべて参照URL通りに設定しました。 それと、言いそびれたことを言いたいと思います。 このメールサーバ構築初期 一番最初に遭遇したエラーは以下のものでした Jan 15 16:34:30 localhost sendmail[5178]: v0F7YTH7005176: to=<****@icloud.com>, delay=00:00:01, xdelay=00:00:00, mailer=esmtp, pri=120504, relay=smtp.ocn.ne.jp. [153.149.232.193], dsn=4.1.8, stat=Deferred: 450 4.1.8 <mypc@localhost.localdomain>: Sender address rejected: Domain not found しかしこのエラーは以下の内容をsendmail.mcに加えることでなくなりました。 MASQUERADE_AS(`変換したいドメイン名')dnl FEATURE(masquerade_envelope)dnl MASQUERADE_DOMAIN(localhost)dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl MASQUERADE_DOMAIN(ホスト名)dnl 変換したいドメイン名は適当でいい様なので、診断君で表示された自分のプロバイダーのドメイン名 ホスト名としました。 実際には以下の構成で AAA.BBB.ocn.ne.jpなので ドメイン名にocn.ne.jp ホスト名にAAA.BBB. としました。(ピリオドまで) この後にm4コマンドやsendmailの再起動などを行い設定を反映させて、再度 mail ****.icloud.com のようにメールを送ると、stat=Service unavailable のエラーが表示される状態です。 つまりは再度設定しても状態は変わらず、またスタート地点といったところです。
ynakano

2017/01/15 12:41

直接の回答になっていないかもしれませんが、telnetでOCNのSMTPサーバに直接接続して***@icloud.com宛にメールを送ってみてはどうでしょうか? telnetでメール送信できるのならばsendmailの設定に問題がありそうですし、telnetでもダメならば原因は別にあるのかもしれません。 ちなにみ、CentOSのホストはOCN配下にいるということでよいでしょうか?
setsu_tenhou

2017/01/15 14:32

telnetでsmtp.ocn.ne.jpに接続してみました。 以下が結果です。 [root@localhost mypc]# telnet smtp.ocn.ne.jp 587 Trying 153.149.232.193... Connected to smtp.ocn.ne.jp. Escape character is '^]'. 220 ocn.ne.jp ESMTP mail service ready HELO localdomain 250 smtp.ocn.ne.jp MAIL FROM: mypc:localhost.localdomain 250 2.1.0 Ok RCPT TO: ***@icloud.com 504 5.5.2 <mypc:localhost.localdomain>: Sender address rejected: need fully-qualified address 気になることがあります ここ何日かずっと調べていますが、どのサイトを見ても皆さんご自分のドメインを持っているように見えるのですが、私のようにドメインを持っていない者でも本当にmailコマンドでメールを送ることなんてできるのでしょうか? ドメインを設定するような箇所はすべてlocalhost.localdomainと設定するしかないのです。 それとCentOSのホストはOCN配下にあるということでよいでしょうか? という質問に対して答えさせてもらいます! えと、ていうのは、自分のプロバイダーがOCNであれはそうなるんじゃないんですか? 違うんですか。。。 私は完全に個人でOCNとインターネット契約をしてHDDにCentOSを入れて普段使いしているだけです。 乱雑な文で本当にすみません 何度も回答してくださって本当に感謝しています。
granfa_yuzo

2017/01/15 14:38

MAIL FROM: mypc:localhost.localdomain ↓ MAIL FROM: mypc.localhost.localdomain と変更してみてください。
ynakano

2017/01/16 00:07

telnetでのSMTPですが、"localhost.localdomain"からのリレーはしてもらえないでしょう。 最低でも送信元が自ドメイン(この場合OCN)でないとオープンリレーになってしまいますから。 なのでコマンド実行時は HELO ocn.ne.jp MAIL FROM: <お使いのOCNアカウント>@ocn.ne.jp ※OCNのサブドメインがあるなら適宜読み替えてください。 としてみてください。 > ここ何日かずっと調べていますが、どのサイトを見ても皆さんご自分のドメインを持っているように見えるのですが、 全員が全員アカウントを持っているとは限らないと思いますよ。 > 私のようにドメインを持っていない者でも本当にmailコマンドでメールを送ることなんてできるのでしょうか? SMTPで送信すること自体はWindowsのメールクライアントからでも、Linuxのsendmail等のMTAでも考え方(SMTPの処理)は同じです。 自分のドメインがないからと言ってWindowsメールクライアントを使ってメールを送れない、なんて話は聞いたことないですよね。 ただ、プロバイダのSMTPサーバ側で不正利防止のために色々と制限がかけられています。(後述) > ドメインを設定するような箇所はすべてlocalhost.localdomainと設定するしかないのです。 Linuxホストを単体利用している場合、OSの設定上はそのようになってしまう事はあります。 なのでMTA側でプロバイダのSMTPサーバに接続する際にアドレスを書き換える必要があります。 > 自分のプロバイダーがOCNであれはそうなるんじゃないんですか? それならそれでいいのです。 念のため、外部NWからOCNのSMTPサーバを利用しようとしているのか否かを確認したかっただけです。 OCN側でSMTPサーバの利用に制限をかけているとしたら、考えられるのは以下の点ではないかと思います。 ・ポート番号を25/tcp以外にする。(これは既に対応済かと) ・Fromアドレスのドメイン名がOCNであること。 ・接続元IPアドレスがOCNのものであること。(これも大丈夫ですね) ・SMTP接続の前にPOP/IMAPの認証が通っていること。 私も2012年頃にCentOSのMAT(postfix)でOCNにメールをリレーさせたことがあります(成功してます)が、最後のPOP/IMAPはなくても大丈夫だった気がします。 ただSMTPは元々は認証の仕組みがないプロトコルなので、認証があるPOP/IMAPのログインが成功してから一定時間以内だけSMTPを通させる、という実装をしているプロバイダも(少なくとも以前は)ありました。 ※OCNがそれに当てはまるかどうかはちょっと分からないです。
setsu_tenhou

2017/01/16 13:41

回答どうもありがとうございます。 今更ながら大変なことに気づいてしまいました。 私のPCのプロバイダーさんであるOCNさんのホームページにいって、OCN会員登録証に記載されているメールアドレス メールパスワードでログインしようとしたところ。 なんとログインできませんでした。 設定した当人に聞いたところ、もう何年も前に設定したから覚えてないとのことです。。。 多分、登録証に記載されている「ご希望のメールアドレスに変更することをおすすめします」とかかれているので、その通りにしたのでしょう。 プロバイダー経由ではなく、gmailなど他のメールサービスを経由する設定にしてみようと思います。 お騒がせして申し訳ありませんでした。
setsu_tenhou

2017/01/16 13:43

OCNさんには機会があれば問い合わせして、メールアドレスの確認を行いたいと思います たくさん回答してくださり、本当にありがとうございました。
ynakano

2017/01/16 13:46

あらー、って感じではありますが技術的に詰まった訳でなさそうなのは救いですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問