ユーザーが自分の Web サイトでフォームを送信したときに、本当に単純なメールを送信する必要があるだけです。(私は PHPMailer の使用を検討しましたが、実際にメールを送信することに失敗しました。実際には必要以上に複雑であるため、あきらめました。) .php ファイルを処理するフォームで、最後にこのコード:
if (!mail($_POST['email'], "Registration - Your New Password", "Your password is: ".$pass))
echo "didn't send email";
else echo "email sent";
「メールを送信しました」というメッセージが表示されますが、個人のメール アドレスを入力してもメールが届きません。このコードが正しく解釈されているように見えるのに、メールが送信されない理由を知っている人はいますか?
上記の mail() をテストする前に行った手順を次に示します。
1) ssmtp をインストール
しました 2) /etc/ssmtp/ssmtp.conf を次のように構成しました:
root=postmaster
root=myemail@gmail.com
mailhub=smtp.gmail.com:587
UseSTARTTLS=YES
AuthUser=myemail
AuthPass=mypass
hostname=mywebsite.com
FromLineOverride=NO
3)/etc/php5/apache2/php.ini
で/etc/php5/cli/php.ini
始まる行を設定しますsendmail_path
4 sendmail_path = /usr/sbin/ssmtp -t
) apache2 を再起動しました: "sudo service apache2 restart"
注: SO に関するこのトピックに関する他の多くの投稿を見てきましたが、これらの質問の解決策は実際には見つかりませんでした。おそらく、これらの他の投稿で解決策を見逃していたので、その場合は、その他の投稿へのリンクを教えていただけますか?