サーバにはpostfix/phpがインストールされており
mb_send_mail関数を使ってメールを送信しております。

example.comというドメインを例として説明すると
fromがtest@example.comというメールアドレスでは問題なく送ることができるのですが、
ドメインをexample.com→mail.example.comと変更し、test@mail.example.comというアドレスで送ろうとすると
maillog上はtest@mail.example.comから送っていることになっているのですが、
メーラーで受信するとformがtest@example.comになっております。

サブドメインのmail.example.comから送るようにするにはどのようにしたらよろしいでしょうか?

main.cf
virtual_alias_domains=example.com mail.example.com
virtual_alias_maps = hash:/etc/mail/virtual

/etc/mail/virtual
test@example.com test
test@mail.example.com test

A 回答 (2件)

#1 です。


> $additional_headers = "From: ".$from;
> $additional_parameter = "-f".$from;
で同じ内容を設定してるってことはpostfixのアドレス書き換えが作用してるってことですね。
多分。
参考URL参照。
(sendmailコマンドで試してみればphpの問題かpostfixの問題かはっきりします。)
ちょっと自分の環境で試してみたのですが、再現できませんでした。
気になることは以下の3点。
・アドレスマスカレードに example.com が定義されている
・mydestination に example.com が定義されている
・DNSに mail.example.com が定義されていない

解決策としてはどの『アドレス書き換え』で書き換わっているのかによりますね。
他アプリ等に影響がある可能性がありますので。

参考URL:http://www.postfix-jp.info/trans-2.3/jhtml/ADDRE …
    • good
    • 0

想像ですが、エンベロープのfromはmail.example.comになってるけど、


メールヘッダのfromはexample.com testになってるのではないでしょうか?

mb_send_mail()で$additional_headersを指定していませんか?
Windows 環境ならphp.iniかもしれません。

参考URL:http://jp2.php.net/manual/ja/function.mail.php

この回答への補足

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

$from = test@mail.example.com
$additional_headers = "From: ".$from;
$additional_parameter = "-f".$from;
mb_send_mail($to, $subject, $body, $additional_headers,$additional_parameter);
と設定してあるので、
メールヘッダーもtest@mail.example.comとなっているのですが受信するとtest@example.comになっています。
受信したヘッダー部分には"mail.example.com"の記述がないですね…。

補足日時:2009/05/25 19:33
    • good
    • 0

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


人気Q&Aランキング

おすすめ情報