私は丸2日間試してきましたが、最も簡単なことをすることができません。
問題:PHPから私のメールアドレスへのメール送信が機能しません
WindowsおよびSendmail(SendmailはXAMPPパッケージ)以前、すべてがOKでした。ただし、LinuxのXAMPPパッケージ(1.7.7)には、Sendmailが統合されていません。だから少し調べてみたところ、PostfixがLAMPP環境によりよく適合していることがわかりました。
これまでに試したこと:
Postfixをインストールし、それを私のプライベートeMailプロバイダーのsmtp-serverを使用(そのように設定したかった) Windowsで行いました)。したがって、私はphp.iniを次のように構成しました。
[mail function]
; For Win32 only.
;SMTP = localhost
;smtp_port = 25
; For Win32 only.
;sendmail_from = [email protected]
sendmail_path = /etc/postfix
mail.add_x_header = On
「Win32のみ」のものはコメントアウトしていることに注意してください。 / etc/postfix/main.cfこのようになります:
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
myhostname = ubuntu
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
sender_canonical_maps = hash:/etc/postfix/sender_canonical
mydestination = ubuntu, localhost.localdomain, localhost
relayhost = mail.gmx.net
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
/ etc/aliasesは変更されていません:
# Required aliases
postmaster: root
MAILER-DAEMON: postmaster
# Common aliases
abuse: postmaster
spam: postmaster
/ etc/postfix/sasl_password:
my.providers.smtp my_login:my_password
/ etc/postfic/sender_canonical:
postmaster [email protected]
どうなるか:
だから私がするとき
> Sudo /etc/init.d/postfix start
すべてが正常に動作しているようで、/ var/log/mail.logのコメント: "ubuntu postfix/master [9720]:デーモンが起動しました-バージョン2.8.5 、構成/ etc/postfix "
しかし、PHPスクリプト(WindowsとSendmailで正常に動作しました)を実行すると、スクリプトが実行され、何も起こらず、エラーも記録されません。
実際に達成したいこと:
私はローカルでeコマースWebサイトで作業しています。専用のWebサーバーで正常に実行されますが、明白な理由でローカルで実行したいです。場合によっては、メールを送信しますが、Thunderbirdまたはその他の方法で受信できるようにしたいだけです。ここでPostfixを使いすぎていますか?メールを受信する必要はありません。送信されたメールを何らかの形で表示したいだけです。この問題に役立つ段階的なチュートリアルを見つけることができなかったようです(SenmailもPostfixも関係ありませんが、正直なところ、私はLinuxが初めてです)。
Php.iniで次のようにします。
sendmail_path = /etc/postfix
Sendmail(または互換性のある)バイナリへのパスでなければなりません。
正しくないpostfixの設定ディレクトリに設定しました。
歴史的な理由から、通常、/usr/bin/sendmail
は互換性リンクとして維持されます。sendmail
が最初にあり(推測)、インストールされたMTAにあると仮定することはほとんどすべてです。そうでない場合、置換はシンボリックリンクを作成し、何も壊れないようにします。
ローカルホスト(WAMP、XAMP、またはLAMP)からメールを送信するには、PHPMailerパッケージを使用できます
これは、readmeファイルで指定されたものと同じ命令になります。
WAMP(ウィンドウ):
まず、「php.ini」を編集する必要があります。このファイルを見つけるには、WAMPサーバーから次のコードを使用してphpinfoを表示します。 C:/ wamp/www /内に1つのphpファイル[setting.php]を作成し、そのファイルに次のコンテンツを追加します。
<?php
echo phpinfo();
?>
ブラウザでlocalhost/setting.phpと入力します。そこで、「php.ini」へのパスとなる「Loaded Configuration File」を検索します。
php.iniファイルで、 `extension = php_openssl.dllに指定された;(半コロン)を削除します。サーバーの設定は終了しました...
LAMP(Linux):
Linuxの場合、WAMPの最初のポイントで説明したように、php.iniファイルを編集する必要はありません。
もう1つの変更点は、プロジェクトまたはドキュメントルートフォルダーが異なることです。
LocalhostからGmailを介して(sendmailパッケージを使用して)メールを送信するには、 PHP + Ubuntu localhostからGmailフォームを使用してメールを送信 が別の回答になる可能性があります。