0

私は午後と今夜ずっとこの問題に悩まされてきましたが、答えが見つかりません。しかし、Mountain Lion の簡単な構成の問題だと思います。

PHP を使用してメールを送信したいので、PEAR:Mail パッケージをインストールしました。それはすべて正常に動作します。

しかし、PHP でメールを送信しようとすると、エラーは返されません。しかし、メールが届きません。

問題をさらに掘り下げたところ、ローカルの後置メール プログラムを適切に設定する必要があることがわかりました。したがって、次の記事に従ってセットアップします: http://benjaminrojas.net/configuring-postfix-to-send-mail-from-mac-os-x-mountain-lion/#comment-259 ; それがうまくいかなかったとき、代わりにそれに従いました:http://slashusr.wordpress.com/2012/02/14/enabling-postfix-for-outbound-relay-via-gmail-on-os-x-lion -11/ . ブログ投稿の基本的な手順は、/etc/postfix/main.cf でいくつかの設定を行うことにより、GMail を使用して送信する方法を教えることです。

しかし、コマンドを使用してターミナルでテストすると:

date | mail -s test <my_email_address>

「メール」ともう一度入力すると、新しいメッセージが表示され、次のエラーが表示されたことを除いて、何も起こりませんでした (一部、役立つと思われるもののみ):

: ホスト smtp.gmail.com[209.85.225.108] は言いました: 530-5.5.1 認証が必要です。詳細については、530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 aa4sm11414435igc.15 (MAIL FROM コマンドへの返信) をご覧ください。

--1306515822A0.1347279593/songyy.local Content-Description: 配信レポート Content-Type: メッセージ/配信ステータス

エラー メッセージに示されているリンクにアクセスしましたが、関係ありません。

誰かがこれについてアドバイスをくれれば、とても感謝しています。

4

1 に答える 1

1

PHP を使用してメールを送信したいので、PEAR:Mail パッケージをインストールしました。それはすべて正常に動作します。

結構。次に、メールが送信される「メール中継サーバー」アドレスが必要です。通常、インターネット プロバイダーから提供されます。

として、そのアドレスを Postfix に設定する必要がありますrelayhost。通常、その他の設定は必要ありません。

あなたがたどったレシピは、Postfix が GMail に接続し、すべて TLS/SSL を介してユーザーとして認証する必要があるため、はるかに複雑です。これを行うには、GMail アカウント (またはその目的で作成された別のアカウント) のユーザー名とパスワードを postfixpasswdファイルに保存する必要があります。

GMail が「認証が必要です」と文句を言うという事実は、この詳細をスキップしたか、間違ったパスワードを保存したことを示しています。そのため、GMail はメール転送プロセスを通過できません。

プレーンな SMTP のみを使用する場合、送信メールは平文で送信されることに注意してください (GMail で SSL 暗号化を使用するのとは対照的です)。

メールに何が起こったのかを詳しく確認する必要がある場合は、システム ログを確認してください。

気をつけなければならないもう一つのことは、あなたが言う:

設定してファイルを指定しました:smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd

このファイルは、特定の形式であることが想定されています (ファイル自体に記載されています)。ただし、その後、ファイルをhashfileに変換する必要があります。これは、ファイル名は同じですが拡張子は同じです。一部のディストリビューションではこれが自動的に行われますが、それ以外の場合は手動で postfix ユーティリティを実行する必要があります(またはピンチで)。あなたの場合:.dbpostmapmakemap

postmap -c /etc/postfix /etc/postfix/sasl_passwd

これは、Postfix がチェックする実際のファイルである/etc/postfix/sasl_passwdハッシュ化します。この特定の詳細は、あなたが従ったチュートリアルでカバーされていない可能性があり、Postfix は以前の (そして空!) から構築された .db ファイルをまだチェックしています。/etc/postfix/sasl_passwd.dbsasl_passwd

PEAR でユーザー、ホスト、およびパスを指定することにより、Postfix 構成を効果的にオーバーライドしていることはまったく正しいです。Mail パッケージは、いわゆるMX への直接交換を実行するため、Postfix はまったく必要ないと思います。

ログ ファイルは main.conf で指定する必要があり、通常は/var/log/messagesまたは/var/log/mail(.something)です。

于 2012-09-10T12:55:25.850 に答える