2016-03-23 6 views
0

サーバーには、adminとjoeの2人のユーザーがいます。両方のユーザーが同じグループに属しています。 adminに属しているドメインから(PHPスクリプト経由で)電子メールを送信しようとすると、すべて動作します。しかし、ジョーに属するドメインの場合mail()は電子メールを送信しません。eximがphp経由でサーバー上の別のユーザーから電子メールを送信/送信しないのはなぜですか?

mail.logphp.iniに設定すると、phpが正常に動作していることがわかりました。

のApache/2.4.16(FreeBSDの)MPM-ITK/2.4.7-02

eximの4.86

/usr/local/etc/exim/passwd -

mainlog, paniclog空 - エラー

の検索結果を持っていません。 exim -bd -d+all

WHITELIST_D_MACROS unset 
TRUSTED_CONFIG_LIST unset 
12:54:37 8586 changed uid/gid: forcing real = effective 
12:54:37 8586 uid=0 gid=0 pid=8586 
12:54:37 8586 auxiliary group list: 0 
12:54:37 8586 seeking password data for user "www": cache not available 
12:54:37 8586 getpwnam() succeeded uid=80 gid=80 
12:54:37 8586 seeking password data for user "mailnull": cache not available 
12:54:37 8586 getpwnam() succeeded uid=26 gid=26 
12:54:37 8586 seeking password data for user "root": cache not available 
12:54:37 8586 getpwnam() succeeded uid=0 gid=0 
12:54:37 8587 changed uid/gid: calling tls_validate_require_cipher 
12:54:37 8587 uid=26 gid=6 pid=8587 
12:54:37 8587 auxiliary group list: 6 
12:54:37 8586 tls_validate_require_cipher child 8587 ended: status=0x0 
12:54:37 8586 configuration file is /usr/local/etc/exim/configure 
12:54:37 8586 log selectors = 0000cffe 00733801 
12:54:37 8586 cwd=/etc 3 args: exim -bd -d+all 
12:54:37 8586 trusted user 
12:54:37 8586 admin user 
12:54:37 8586 DSN: dnslookup propagating DSN 
12:54:37 8586 DSN: disabled_domains propagating DSN 
12:54:37 8586 DSN: disabled_users propagating DSN 
12:54:37 8586 DSN: local_domains propagating DSN 
12:54:37 8586 DSN: group_aliases propagating DSN 
12:54:37 8586 DSN: aliases propagating DSN 
12:54:37 8586 DSN: aliases_pipe propagating DSN 
12:54:37 8586 DSN: local_users propagating DSN 
12:54:37 8586 DSN: catchall_for_domains propagating DSN 
12:54:37 8586 DSN: unknown_users propagating DSN 
12:54:37 8586 DSN: autoreplay propagating DSN 
12:54:37 8586 DSN: localuser propagating DSN 
12:54:37 8586 DSN: a_dnslookup propagating DSN 
12:54:37 8586 DSN: a_disabled_domains propagating DSN 
12:54:37 8586 DSN: a_disabled_users propagating DSN 
12:54:37 8586 DSN: a_local_domains propagating DSN 
12:54:37 8586 DSN: a_aliases propagating DSN 
12:54:37 8586 DSN: a_aliases_pipe propagating DSN 
12:54:37 8586 DSN: a_local_users propagating DSN 
12:54:37 8586 DSN: a_catchall_for_domains propagating DSN 
12:54:37 8586 originator: uid=0 gid=0 login=root name=Charlie Root 
12:54:37 8586 LOG: MAIN 
12:54:37 8586 IPv6 socket creation failed: Protocol not supported 
12:54:37 8586 LOG: MAIN 
12:54:37 8586 Failed to create IPv6 socket for wildcard listening (Protocol not supported): will use IPv4 
12:54:37 8586 LOG: MAIN 
12:54:37 8586 socket bind() to port 25 for address (any IPv4) failed: Address already in use: waiting 30s before trying again (9 more tries) 

答えて

0

デフォルトでは、exim_userexim_group以外のすべてのユーザーは信頼できないため、他のユーザーからのメッセージは送信できません。したがってeximがphpによって呼び出されたときには、ユーザーwwwがeximを呼び出すphpを呼び出すapache/nginxを起動するために、[email protected]のようなsender_addressを使用することが強制されます。

ex32のtrusted_usersまたはtrusted_groupswwwユーザーを追加する必要があります。もう1つの方法は、直接exim呼び出しの代わりにSMTPセッションを使用する方法です。 eximが接続をリッスンしているところで実際のIPを使用するようにPHPを設定するだけで十分です。

+0

これは、phpがadminから電子メールを送信し、joeから送信しない理由を説明するものではありません。 trusted_usersは既にwwwです。私はtrusted_usersとtrusted_groupsを変更しようとしましたが、結果はありません。 –

関連する問題