• ベストアンサー
  • 困ってます

postfixで携帯以外に送信が出来ない

  • 質問No.2519962
  • 閲覧数540
  • ありがとう数2
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 14% (1/7)

問題が生じてしまいご質問させていただきます。
よろしくお願いいたします。

●出来ないこと
 メールの送信が一部出来ない
(試したアドレス:hogehoge@nifty.com,hogehoge@hotmail.com)

●出来ること
 メールの受信
 携帯へのメール送信(試したアドレス:hoghoge@docomo.ne.jp)

・サーバー側環境、Vine Linux 4.0 RC1,Postfix ver 2.2.10
・サーバー側ログ
Nov 5 20:23:01 localhost postfix/smtp[4193]: connect to mx3.hotmail.com[***.***.***.***]: server dropped connection without sending the initial SMTP greeting (port 25)
Nov 5 20:23:02 localhost postfix/smtp[4193]: 2C3D17C0605: to=<hogehoge@hotmail.com>, relay=mx2.hotmail.com[***.***.***.***], delay=190, status=bounced (host mx2.hotmail.com[***.***.***.***] said: 354 Enter mail, end with "." on a line by itself (in reply to MAIL FROM command))

・クライアント側エラー
 MAILER-DAEMONより件名:Undelivered Mail Returned to Sender
 のエラーメールが来ます。
 メーラーを変えても(ベッキーVer2、OE Ver6)一緒です。

<hogehoge@hotmail.com>: host mx2.hotmail.com[***.***.***.***] said: 354 Enter
mail, end with "." on a line by itself (in reply to MAIL FROM command)

質問者が選んだベストアンサー

  • 回答No.2
  • ベストアンサー

ベストアンサー率 72% (435/603)

ログを見るとサーバ(Vine Linux 4.0 RC1)とメールの送信先メールサーバとの間のやりとりでエラーになっているわけですよね?

master.cfの下記の

smtp unix - - n - - smtp

smtp unix - - n - - smtp -v

に変更して、postfix reloadを実行するとログにメールサーバ間のやりとりをログに残せますので一度詳細なログを取ってみたらメールサーバ間のやりとりのどこでエラーになっているか分かると思いますよ。

ログ例
(下記にメッセージの前に出力される出力日時、ホスト名、プロセス名は削除しています)
-------8<-------8<-------8<-------8<-------8<-------8<-------
< --------.-------.ne.jp[XXX.XXX.XXX.XXX]: 220 xxxxxxxxxxx.-------.ne.jp ESMTP Sendmail kmfn/5514041106; Thu, 9 Nov 2006 04:19:24 +0900(JST)
> --------.-------.ne.jp[XXX.XXX.XXX.XXX]: EHLO alfheim.-------.jp
< --------.-------.ne.jp[XXX.XXX.XXX.XXX]: 250-xxxxxxxxxxx.-------.ne.jp Hello xxxxxxxxxxxxxxxxxxxx.xxxxx.net [xxx.xxx.xxx.xxx], pleased to mee
< --------.-------.ne.jp[XXX.XXX.XXX.XXX]: 250-ENHANCEDSTATUSCODES
< --------.-------.ne.jp[XXX.XXX.XXX.XXX]: 250-PIPELINING
< --------.-------.ne.jp[XXX.XXX.XXX.XXX]: 250-8BITMIME
< --------.-------.ne.jp[XXX.XXX.XXX.XXX]: 250-SIZE 104857600
< --------.-------.ne.jp[XXX.XXX.XXX.XXX]: 250-DSN
< --------.-------.ne.jp[XXX.XXX.XXX.XXX]: 250-DELIVERBY
< --------.-------.ne.jp[XXX.XXX.XXX.XXX]: 250 HELP
server features: 0x900f size 104857600
Using ESMTP PIPELINING, TCP send buffer size is 4096
> --------.-------.ne.jp[XXX.XXX.XXX.XXX]: MAIL FROM:<xxxx@-------.jp> SIZE=1111
> --------.-------.ne.jp[XXX.XXX.XXX.XXX]: RCPT TO:<yyyy@---.-------.ne.jp> ORCPT=rfc822;yyyy@---.-------.ne.jp
> --------.-------.ne.jp[XXX.XXX.XXX.XXX]: DATA
< --------.-------.ne.jp[XXX.XXX.XXX.XXX]: 250 2.1.0 <xxxx@-------.jp>... Sender ok
< --------.-------.ne.jp[XXX.XXX.XXX.XXX]: 250 2.1.5 <yyyy@---.--------.ne.jp>... Recipient ok
< --------.-------.ne.jp[XXX.XXX.XXX.XXX]: 354 Enter mail, end with "." on a line by itself
> --------.-------.ne.jp[XXX.XXX.XXX.XXX]: .
> --------.-------.ne.jp[XXX.XXX.XXX.XXX]: QUIT
< --------.-------.ne.jp[XXX.XXX.XXX.XXX]: 250 2.0.0 kA8JJOxE025060 Message accepted for delivery
-------8<-------8<-------8<-------8<-------8<-------8<-------

ちなみに、No.1の方が書いたmain.cf内のパラメータにもうひとつ追加して

smtp_always_send_ehlo = no
smtp_never_send_ehlo = yes

とした時はどうですか?

>#smtpd_helo_required = yes
>#smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname,

メールの宛先のメールサーバに対してやりとりを行うのはsmtpですからsmtpdのパラメータを変更しても駄目だと思いますよ。
補足コメント
korsakov

お礼率 14% (1/7)

御指摘ありがとうございます。
早速、

smtp_always_send_ehlo = no
smtp_never_send_ehlo = yes

と加え、

>#smtpd_helo_required = yes
>#smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname,

ここのコメントアウトは外しました。
すると状況が変わり,リターンメールは来ないが相手にも届いていないという風になりました。

smtp unix - - n - - smtp -v

に変更しての詳細のログですが、、

Nov 9 11:18:19 localhost postfix/anvil[4800]: statistics: max connection count 1 for (smtp:***.***.***.***) at Nov 9 11:14:59
Nov 9 11:18:19 localhost postfix/anvil[4800]: statistics: max cache size 1 at Nov 9 11:14:59

の後は、

Nov 9 11:18:43 localhost master[4883]: fatal: master_spawn: exec /usr/lib/postfix/smtp-v: No such file or directory
Nov 9 11:18:44 localhost postfix/master[4705]: warning: process /usr/lib/postfix/smtp-v pid 4883 exit status 1
Nov 9 11:18:44 localhost postfix/master[4705]: warning: /usr/lib/postfix/smtp-v: bad command startup -- throttling

この3行を繰り返していました。

ANo.1をいただいた時点にも戻してみましたが、詳細なログは変わりません。
そこでご質問前の設定に戻せばログに最終的に、
said: 354 Enter mail, end with "." on a line by itself (in reply to MAIL FROM command))
が見られるかと思いましたが再現がとれなくなっている状況です。

再起動はpostfixのみでPCは再起動していません。

ひきつづきお手数ですがよろしくお願いいたします。
投稿日時:2006/11/09 16:01

その他の回答 (全4件)

  • 回答No.5

ベストアンサー率 72% (435/603)

>smtp_always_send_elho =no
>smtp_never_send_elho =yes

ではなくて

smtp_always_send_ehlo = no
smtp_never_send_ehlo = yes

です。
お礼コメント
korsakov

お礼率 14% (1/7)

ありがとうございます。
手入力でやり直してもダメだったのですが、
この画面でカットアンドペーストを使ったところ
うまく送信できました。

非常に単純だったミスにもかかわらず、御指導いただき
ありがとうございました。
投稿日時:2006/11/10 20:55
  • 回答No.4

ベストアンサー率 72% (435/603)

>Nov 9 19:54:40 localhost postfix/smtp[3372]: Using ESMTP PIPELINING, TCP send buffer size is 4096
>Nov 9 19:54:40 localhost postfix/smtp[3372]: > mx4.hotmail.com[***.***.***.***]: MAIL FROM:<hoge.hogehoge.com> SIZE=879
>Nov 9 19:54:40 localhost postfix/smtp[3372]: > mx4.hotmail.com[***.***.***.***]: RCPT TO:<hoge@hotmail.com>
>Nov 9 19:54:40 localhost postfix/smtp[3372]: > mx4.hotmail.com[***.***.***.***]: DATA
>Nov 9 19:54:41 localhost postfix/smtp[3372]: < mx4.hotmail.com[***.***.***.***]: 354 Enter mail, end with "." on a line by itself

PIPELININGを使用して「MAIL FROM」、「RCPT TO」、「DATA」を相手メールサーバに「MAIL FROM」、「RCPT TO」の応答を待たずに送り「DATA」を送った後に相手メールサーバからの「MAIL FROM」、「RCPT TO」、「DATA」の応答を順番に待っていたが、「MAIL FROM」の応答として「DATA」の応答であるはずの「Enter mail, end with "." on a line by itself」が返ってきたのでエラーになっているのだと思います。
通常、「MAIL FROM」の応答は、No.2のログ例にあるように「250 2.1.0 <xxxx@-------.jp>... Sender ok」等の応答になります。

相手サーバの問題のような気がしますが、PIPELININGを使用しないようにするためには、No.1の方が書かれたmain.cfの設定

smtp_never_send_ehlo = yes

を行うと、SMTPセッションの開始をEHLOコマンドではなくてHELOコマンドを使用する事になるのでPIPELININGは使用されなくなってちゃんとメールが送信出来るようになると思うのですが、本当に駄目だったのですか?

上記、「smtp_never_send_ehlo = yes」を設定した時のログはどうなりますか?
補足コメント
korsakov

お礼率 14% (1/7)

御回答ありがとうございます。

main.cfを再確認しましたが、やはりこの2項目入っていました。

smtp_always_send_elho =no
smtp_never_send_elho =yes

前回以降PCの再起動も行っています。
またその他のelhoに関する項目も確認しましたが
ないようです。

また参考になるかわかりませんが手動でなら確実にELHOではなくHELOになると思い、
試しにサーバー機より、TELNETでも送信してみました。

[root@localhost root]# telnet hogehoge.com 25
Trying ***.***.***.***...
Connected to hogehoge.com.
Escape character is '^]'.
220 hogehoge.com ESMTP Postfix
helo hotmail.com
250 hogehoge.com
mail from:<hoge@hogehoge.com>
250 2.1.0 Ok
rcpt to:<hoge@hotmail.com>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
subject:tesu
from:hoge@hogehoge.com
to:hoge@hotmail.com
tesuto
test
.
250 2.0.0 Ok: queued as 986D48ACCC3
quit
221 2.0.0 Bye
Connection closed by foreign host.

しかしログは以下のように変わらない状況でした。
Nov 10 03:33:47 localhost postfix/smtp[4747]: smtp_connect_addr: trying: mx3.hotmail.com[65.54.244.72] port 25...
Nov 10 03:33:47 localhost postfix/smtp[4747]: < mx3.hotmail.com[65.54.244.72]: 220 bay0-mc3-f15.bay0.hotmail.com Sending unsolicited commercial or bulk e-mail to Microsoft's compu
Nov 10 03:33:47 localhost postfix/smtp[4747]: > mx3.hotmail.com[65.54.244.72]: EHLO 2ch.ch
Nov 10 03:33:47 localhost postfix/smtp[4747]: < mx3.hotmail.com[65.54.244.72]: 250-bay0-mc3-f15.bay0.hotmail.com (3.3.0.19) Hello [43.244.35.21]
Nov 10 03:33:47 localhost postfix/smtp[4747]: < mx3.hotmail.com[65.54.244.72]: 250-SIZE 29696000
Nov 10 03:33:47 localhost postfix/smtp[4747]: < mx3.hotmail.com[65.54.244.72]: 250-PIPELINING
Nov 10 03:33:47 localhost postfix/smtp[4747]: < mx3.hotmail.com[65.54.244.72]: 250-8bitmime
Nov 10 03:33:47 localhost postfix/smtp[4747]: < mx3.hotmail.com[65.54.244.72]: 250-BINARYMIME
Nov 10 03:33:47 localhost postfix/smtp[4747]: < mx3.hotmail.com[65.54.244.72]: 250-CHUNKING
Nov 10 03:33:47 localhost postfix/smtp[4747]: < mx3.hotmail.com[65.54.244.72]: 250-AUTH LOGIN
Nov 10 03:33:47 localhost postfix/smtp[4747]: < mx3.hotmail.com[65.54.244.72]: 250-AUTH=LOGIN
Nov 10 03:33:47 localhost postfix/smtp[4747]: < mx3.hotmail.com[65.54.244.72]: 250 OK
Nov 10 03:33:47 localhost postfix/smtp[4747]: server features: 0x100f size 29696000
Nov 10 03:33:47 localhost postfix/smtp[4747]: Using ESMTP PIPELINING, TCP send buffer size is 4096
Nov 10 03:33:47 localhost postfix/smtp[4747]: > mx3.hotmail.com[65.54.244.72]: MAIL FROM:<hoge@hogehoge.com> SIZE=338
Nov 10 03:33:47 localhost postfix/smtp[4747]: > mx3.hotmail.com[65.54.244.72]: RCPT TO:<hoge@hotmail.com>
Nov 10 03:33:47 localhost postfix/smtp[4747]: > mx3.hotmail.com[65.54.244.72]: DATA
Nov 10 03:33:48 localhost postfix/smtp[4747]: < mx3.hotmail.com[65.54.244.72]: 354 Enter mail, end with "." on a line by itself

ここまでくると相手側の問題かも知れませんが、現状他の友人(@ocn.ne.jp,@jcom.home.ne.jp)にも送ってみましたが
ダメな状況です。なんとか頑張ってみたので、送れるようにしたいのですが・・・
どうぞよろしくお願いいたします。
投稿日時:2006/11/10 03:54
  • 回答No.3

ベストアンサー率 72% (435/603)

>Nov 9 11:18:43 localhost master[4883]: fatal: master_spawn: exec /usr/lib/postfix/smtp-v: No such file or directory

を見るとプログラム名smtpとオプション-vがつながって、smtp-vというプログラム名になっているように見えます。
「smtp -v」で起動されるはずが「smtp-v」で起動しようとして起動出来ないので

>すると状況が変わり,リターンメールは来ないが相手にも届いていないという風になりました。

という事に当然なります。

>smtp unix - - n - - smtp -v

のように smtpと-vの間にスペースを入れてください。
補足コメント
korsakov

お礼率 14% (1/7)

たびたびのご回答ありがとうございます。
master.cfを直したところ、今まで通りのエラーが再現できました。
またログも確認できました。
この続きに付いてもご教示お願いします。

Nov 9 19:54:40 localhost postfix/smtp[3372]: smtp_connect_addr: trying: mx4.hotmail.com[***.***.***.***] port 25...
Nov 9 19:54:40 localhost postfix/smtp[3372]: < mx4.hotmail.com[***.***.***.***]: 220 bay0-mc4-f10.bay0.hotmail.com Sending unsolicited commercial or bulk e-mail to Microsoft's compu
Nov 9 19:54:40 localhost postfix/smtp[3372]: > mx4.hotmail.com[***.***.***.***]: EHLO hogehoge.com
Nov 9 19:54:40 localhost postfix/smtp[3372]: < mx4.hotmail.com[***.***.***.***]: 250-bay0-mc4-f10.bay0.hotmail.com (3.3.0.19) Hello [43.244.35.21]
Nov 9 19:54:40 localhost postfix/smtp[3372]: < mx4.hotmail.com[***.***.***.***]: 250-SIZE 29696000
Nov 9 19:54:40 localhost postfix/smtp[3372]: < mx4.hotmail.com[***.***.***.***]: 250-PIPELINING
Nov 9 19:54:40 localhost postfix/smtp[3372]: < mx4.hotmail.com[***.***.***.***]: 250-8bitmime
Nov 9 19:54:40 localhost postfix/smtp[3372]: < mx4.hotmail.com[***.***.***.***]: 250-BINARYMIME
Nov 9 19:54:40 localhost postfix/smtp[3372]: < mx4.hotmail.com[***.***.***.***]: 250-CHUNKING
Nov 9 19:54:40 localhost postfix/smtp[3372]: < mx4.hotmail.com[***.***.***.***]: 250-AUTH LOGIN
Nov 9 19:54:40 localhost postfix/smtp[3372]: < mx4.hotmail.com[***.***.***.***]: 250-AUTH=LOGIN
Nov 9 19:54:40 localhost postfix/smtp[3372]: < mx4.hotmail.com[***.***.***.***]: 250 OK
Nov 9 19:54:40 localhost postfix/smtp[3372]: server features: 0x100f size 29696000
Nov 9 19:54:40 localhost postfix/smtp[3372]: Using ESMTP PIPELINING, TCP send buffer size is 4096
Nov 9 19:54:40 localhost postfix/smtp[3372]: > mx4.hotmail.com[***.***.***.***]: MAIL FROM:<hoge.hogehoge.com> SIZE=879
Nov 9 19:54:40 localhost postfix/smtp[3372]: > mx4.hotmail.com[***.***.***.***]: RCPT TO:<hoge@hotmail.com>
Nov 9 19:54:40 localhost postfix/smtp[3372]: > mx4.hotmail.com[***.***.***.***]: DATA
Nov 9 19:54:41 localhost postfix/smtp[3372]: < mx4.hotmail.com[***.***.***.***]: 354 Enter mail, end with "." on a line by itself
投稿日時:2006/11/09 20:07
  • 回答No.1

ベストアンサー率 63% (53/83)

こんにちは。

main.cf で
smtp_never_send_ehlo = yes
としたらどうでしょう。
補足コメント
korsakov

お礼率 14% (1/7)

ご回答ありがとうございます。
早速試してみましたが症状は同じでした。
postfixの再起動だけでなくPCも念のため再起動してみました。

またelho,heloに関連したスパム対策の2項目もコメントアウト
してみましたが駄目なようです。
#smtpd_helo_required = yes
#smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname,

この問題が生じる前、qpopperがうまく働かず、
OSのダウングレード等いろいろ試していた際、
送信が出来ていたときもあるようでです。
しかし送信可能だった後にOSを入れ直していたため、
ログ等が無く再現不能な状態です。

引き続きよろしくお願いいたします。
投稿日時:2006/11/08 15:32
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ