dポイントプレゼントキャンペーン実施中!

環境
 RedHatLinux 9
 APACHE 2.0.48
 PHP 4.3.4

まず、PHPの質問ではないかもしれませんがご容赦ください。

PHPからmail関数(またはmb_send_mail関数)にてメールを出力すると、
送信先のアドレスによってメールが届いたり届かなかったりします。
詳しく説明すると、自分の会社のアドレスには届かず、
自宅でのインターネット接続の際のプロバイダ契約時に頂いた
個人用のメールアドレスには届くようです。

なぜ、そのような現象が起こっているかが分からず、1週間近く悩んでいますが、
一向に解決できていません。
いままで似たような現象が発生した方、または何となく理由がわかる方、
ヒントとなるような内容が少しでも良いので、よろしくお願いします。

A 回答 (4件)

今頃になってしまいましたが、業務で調べる必要があり、一応送信できたので、お知らせします。


以下の様に、-fオプションを使用することで、送信できなかったアドレスにも送信できました。なお、root@***.comは存在するメールアドレスであれば良いはずですが、ウチでは、rootしか無かったので、これ以外は試していません。詳細は参考URLの-fの項を見て下さい。
mail("nnn@***.com","test","testmail","From: zzz@y**.com ,"-froot@***.com");

参考URL:http://www.linux.or.jp/JM/html/sendmail/man8/sen …
    • good
    • 0
この回答へのお礼

こちらこそ回答が今頃になってしまいましてすいません^^;
諸事情により確認が取れなかったのですが、確認できました。
こちらでも-fオプションでうまくいきました。
本当にありがとうございました。_(_^_)_

お礼日時:2004/07/05 20:25

社内にあるlinuxのサーバーからmail()を使用してメールを送ってみましたが、確かに送信できない宛先があるようです。


デーモンからのエラーメールや、sendmail関連でいくらか調べてみた所、スパム対策として受信側のMTAの設定で受信が拒否されているらしいという事まではわかりました。
ただ、それ以上の事はsendmailの設定の話になり、正直なところ、僕自身もよくわかりません。
どうしても解決する必要があるのであれば、今回の現象とデーモンからのエラーメールの内容を、sendmailやq-mailなどのMTA関連の掲示板などに投げてみれば、解決策を教えてもらえるのではないかと思います。
以上、中途半端ですが、参考になりましたでしょうか。
    • good
    • 0
この回答へのお礼

試しまでして頂いてありがとうございます。

そんな気がしていましたがやっぱりPHPの問題ではないのですね・・・^^;
Linuxは初心者でまだ分からない事が多いですが、
言われた通り、MTA関連の方で調査・質問をしようと思います。

お礼日時:2004/05/26 17:19

ソースの内容やサーバの設定などが不明なので、思いついた事だけですが、Fromなどを正しく設定していないのでは無いでしょうか?


そのために会社のメールサーバーには弾かれてしまっているのでは?

この回答への補足

ソースですが、以下の通りです。
 
mail("会社のメールアドレス","testsubject","teststatement","from:送信元メールアドレス")

上記アドレスは別々にし、存在しているものを利用しています。

mail("個人のメールアドレス","testsubject","teststatement","from:送信元メールアドレス")

この場合はうまくいきます。

設定ですが、PHP.INIのメールに関する設定はどこかのサイトを参考に
以下の通りにしています。

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = /usr/sbin/sendmail -t -i

補足日時:2004/05/26 11:25
    • good
    • 0
この回答へのお礼

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

> Fromなどを正しく設定していないのでは無いでしょうか?
これは知識不足で可能性としてはあると思います。
しかし、何が正しくて何が正しくないかの判別がつかないもので・・・。
例えばどのようなケースがあるでしょうか?

お礼日時:2004/05/26 11:25

RedHat9マシンがクラッシュしてから、


実験用マシンの構築をサボっているので、
確認しておりませんが、
まったく同じようにして送信先メールアドレスだけ変更して、お書きになっている状況と仮定します。

1.カーネルのECNオプションが有効になっているが、会社のメールサーバまでのネットワーク上にECNオプションに対応していない機器がある。

2.会社のメールサーバに受け取りを拒否する設定がなされている

3.文字コードがおかしい

とりあえずぱっと思いつくところではこのあたりでしょうか。
ちょっとそれ以上はソースみてみないとなんともというところです

この回答への補足

ちなみに個人のアドレスに送った際にちゃんと届いた場合のメールの
ヘッダーは以下の通りになっています。
(ドメイン等は伏せさせて頂きます。)

以下の内容はPHPのmb_send_mail関数にて送信された内容です。

Return-Path: <nobody@****.**.jp>
Received: from localhost.localdomain ([XXX.XXX.XX.XX])
by XXXX.XXXX.XX.jp
with ESMTP id <20040524093633.DVUO27435.XXXX.XXXXX.XX.jp@localhost.localdomain> for <sm-test@XXXXX.XXXXX.XX.jp>;
Mon, 24 May 2004 18:36:33 +0900
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by localhost.localdomain (8.12.8/8.12.8)
with ESMTP id i4O9VTZn032132 for <sm-test@XXXXX.XXXXX.XX.jp>;
Mon, 24 May 2004 18:31:29 +0900
Received: (from nobody@localhost)
by localhost.localdomain (8.12.8/8.12.8/Submit) id i***VOD9032130;
Mon, 24 May 2004 18:31:24 +0900
Date: Mon, 24 May 2004 18:31:24 +0900
Message-Id: <200405240931.i***VOD9032130@localhost.localdomain>
To: sm-test@*****.****.**.jp
Subject: お知らせ
from: XXXXX@****.XXXXX.XX.jp
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

補足日時:2004/05/26 11:31
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
返事が遅くなりました。
ごめんなさい_(_^_)_

1についてはどっかのサイトで調べて確認したところ、0となっていたので、
多分無効になっていると思います。

2については、メールサーバ自体がホスティングのサービスを利用しており、
基本的には何もしていないのですが、ホスティング会社の基本機能として、
なにかをしているかもしれませんので、調査中です。

3については特に文字化け等もしていませんので、大丈夫かと思うのですが、
微妙に自信がありません。

お礼日時:2004/05/26 11:22

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