記事の最後へ▼ 
< 質 問 >
LAN内からのメール送信について

初めまして、Xmailを気持ちよく利用させて頂いております。
通常のメーラー及びK4では不具合もなく快適です。

今回の質問はここでお聞きするのは場違いなのかもしれませんが、可能か不可能かだけでもお教え願えればと思い、質問させて頂きます。

自宅の同一サーバー内で、勉強しながらPHPを主体としたサイトを構築しているのですが、サイトのメール設定が、PHP→XmailのSMTPサーバーという形になっております。
この場合、SMTP認証やPOP認証ができません。
試しに送信したところ、Xmailのログには、案の定エラーとして残っておりました。
hogehoge.domain  192.168.××.××(サーバー機IPアドレス)  日時 サイト名   =?ISO-2022-JP?B?GyRCJVUlIyUuJWUlIkRMSE4hWhsoQndvbGYtZmFuZy5jb20=?=
となっています。
送信の際にはPHPもエラーを出したのですが、内容は、SMTPサーバーのエラーでした。
PHPから送られるメールは、Xmail経由で送信というのは不可能なのでしょうか。

構築環境は下記になります。
WinXPPro
Apache 2.0.59
mod_ssl/2.0.59
OpenSSL/0.9.8b
PHP/5.1.2
です。
もしどなたか解るようでしたら、可能か不可能かだけでもお教え願いますでしょうか。

マリオ (10.21/06)


【 マリオ (10.21/06) 】

タイトルに誤りがありましたので訂正させて頂きます。
「LAN内のPHPからのメール送信について」
でした。
失礼いたしました。


【 DSS (10.21/06) 】

XMailのサーバーとPHP主体のサイトを構築しているサーバーと言うのが同一なのですよね。

リレー許可に、
127.0.0.0 255.255.255.0
を入れて、sendmail.exeを使えば良いのでは?

的外れな回答でしたら申し訳ありません。


【 DSS (10.21/06) 】

すみません。
寝ぼけていたようで、全く的外れな回答をしていたようです。

mb_send_mail
を使うということですよね。

マリオさんの環境で、「SMTPアクセス許可」と「SMTPリレー許可」を、どのように設定しているかを書いていただけると、適切なアドバイスが得られるかと思います。


【 マリオ (10.23/06) 】

DSSさん、ご回答ありがとうございます。
SMTPアクセス許可とSMTPリレー許可は下記のように設定しております。

SMTPアクセス許可
0.0.0.0 0.0.0.0 ALLOW

SMTPリレー許可
127.0.0.0 255.255.255.0  
192.168.0.0 255.255.255.0

です。
宜しくお願いします。


【 DSS (10.23/06) 】

その設定であれば、SMTP認証なしでSMTPアクセス可能なはずなので、エラーの原因は、ご懸念されている、
>この場合、SMTP認証やPOP認証ができません。
では無いと考えられます。

XMailのログでエラーが残っているとのことですが、これはどのログでしょうか?
また、SMTPアクセスログのステータス欄で、エラーの内容が表示されますが、これはどうなっているでしょうか?

W2KServerSP4
IIS 5.0
ActivePerl 5.8.3
XMail 1.22
XMailCFG 2.23
K4 0.84
PHP 4.4.1

因みに当方では、上記の環境で、mb_send_mailが動作しています。
当然ながら、PHPでメール送信はXMail経由でも可能です。


【 マリオ (10.23/06) 】

DDSさん、お付き合いどうもありがとうございます。
エラーログは
hogehoge.domain 192.168.×.×(サーバーのIPアドレス)  日時と時間  hogehoge.domain   =?ISO-2022-JP?B?GyRCJVUlIyUuJWUlIkRMSE4hWhsoQndvbGYtZmFuZy5jb20=?=      SNDR=ESYNTAX    0  hogehoge.domain
となっております。
PHP側の設定の問題なのでしょうか?

環境を記載し忘れがございましたので、記載させて頂きます。
Xmail 1.22
XmailCFG 2.21c
k4 使用しておりません。
ActivePerl 5.8.7
mysql 4.1.7
です。


【 DSS (10.24/06) 】

=?ISO-2022-JP?B?GyRCJVUlIyUuJWUlIkRMSE4hWhsoQndvbGYtZmFuZy5jb20=?=

これってSubject:(件名)ですよね。
通常、SMTPアクセスログに、この様な文字列は表れません。
それに、少なくとも、RCPT TO:(宛先)が無いと、送信できませんよ。

SNDR=ESYNTAXは構文エラーみたいなもので、宛先メールアドレスに@がなかったり、/などが入っていたりしたときに出ます。

PHP側の設定というより、PHPの記述ミスだと思います。

mb_send_mail ( 宛先, 件名, 追加ヘッダ )

上記の記述の順番が異なっているかと思われますので、PHPのソースを確認してみてください。


【 マリオ (10.25/06) 】

DSS様、お付き合いありがとうございます。
無事に送信できました。

DSS様のご指摘通り、宛先と件名が逆になっておりました。
この記述を変更したところ無事に送信できました。
まだまだ勉強不足を痛感する初歩的なミスにお付き合い頂きまして、本当にありがとうございました。

また当方のPHPの勉強不足の問題をXmailと結びつけてBBSをお借りしてしまい、誠に申し訳ございませんでした。
今後はもっと勉強したいと思います。

記事の先頭へ▲ 
SUPER LABORATORY