0

ここで同様の質問を見たことがありますが、問題を解決できません。PHP を使用してメールを送信しようとしていますが、うまくいきません。

<?php
$email_from="admin@crorebook.com";
ini_set("sendmail_from", $email_from);
$headers = "From: $email_from";
mail('gitudrebel94@gmail.com','Registration confirmation','Hihihihihihih','$headers');
?>

Windowsサーバーで次のエラーが表示されます:「SMTPサーバーの応答:550 No such user here」

nginx サーバーでの次のエラー:

「サーバーで内部エラーまたは構成ミスが発生したため、リクエストを完了できませんでした。

サーバー管理者、ウェブマスターに連絡して、エラーが発生した時間と、エラーの原因となった可能性のある操作を知らせてください。

このエラーの詳細については、サーバー エラー ログを参照してください。

さらに、ErrorDocument を使用して要求を処理しようとしたときに、500 内部サーバー エラー エラーが発生しました。」

4

1 に答える 1

0

送信メールサーバーの設定はありますか?Windowsで実行している場合はSMTPサーバーが必要であり、Linuxで実行している場合は、sendmailローカルで構成および実行されている必要があります。

SMTPエラーメッセージは、それがオープンフォワーダーではないことを示唆しています-誰かが誰か/他の場所に電子メールを送信するように要求するだけではないので...スパマーがそれを使用するので、それは良いことです。(マシンでホストされているドメインの電子メールアドレスのように)マシンのローカル以外の人に配信するための電子メールを除いて、おそらく何らかの認証(ユーザー名/パスワード)が必要です。

残念ながら、PHPmail()メソッドはそれを処理しないため、サードパーティのパッケージを確認する必要があります。PEARメールまたはPHPMailerが適切なオプションです。

PHPMailerでタスクを完了するには:

require_once /*lib location*/"phpmailer/class.phpmailer.php";
require_once /*lib location*/"phpmailer/class.smtp.php";

$mail=new PHPMailer();
$mail->IsSMTP();
$mail->Host=/*Your host*/;
$mail->Port=465;//For SSL - use this if you can
$mail->SMTPAuth=true;
$mail->SMTPSecure="ssl";
$mail->SMTPDebug=2;//Comment once it works, but the debug info is invaluable
$mail->Username=/*Your username*/;
$mail->Password=/*Your password*/;
$mail->setFrom("admin@crorebook.com");
$mail->Subject='Registration confirmation';
$mail->Body='Hihihihihihih';
$mail->AddAddress('gitudrebel94@gmail.com');
$mail->Send();
于 2012-10-02T16:37:25.830 に答える