0

sendmailApache サーバー (Ubuntu) にインストールしました

PHPの使用中にメールが送信されないことを除いて、すべてが機能しているようですmail();

Apache エラーログに次のようなエラーが表示されます。

/usr/sbin/sendmail: 受信者が見つかりません

これは私が関数を使用している方法です:

$user_email = "myemail@gmail.com";
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'To: ' . $user_email . "\r\n";
$headers .= 'From: Mydomain <do-not-reply@mydomain.com>' . "\r\n";

  mail($user_email,"subject","message",$headers);
4

3 に答える 3

3

$user_email = myemail@gmail.com

should be

$user_email = "myemail@gmail.com";

于 2013-06-21T15:01:41.860 に答える
1

ubuntu/apache2/php セットアップに ssmtp をインストールしましたが、php.ini で sendmail パラメーターを設定する必要があることがわかりました。

mail.force_extra_parameters = -t

私が理解しているように、ssmtp は sendmail のセットアップをエミュレートし、-t パラメーターは mta に (PHP からの) 受信メールをスキャンして「To:」ヘッダーを探します。

注意点として、ssmtp インストールが作成したシンボリック リンクを変更して、bin のフル パス (ln -s /usr/sbin/ssmtp sendmail) を含める必要があったため、apache がファイルを見つけられるようになりました。

于 2016-04-06T16:33:03.400 に答える
1

エラーの原因は、(元の投稿されたコードに)あったことです:

$user_email = myemail@gmail.com

囲み引用符と末尾のセミコロンの両方が存在しませんでした。

正しくて適切な形式は次のとおりです。

$user_email = "myemail@gmail.com";

シングルクォートを使用して、次のように記述することもできます。

$user_email = 'myemail@gmail.com';

mail()PHP.netの関数から取得したもの

http://php.net/manual/en/function.mail.php

于 2013-06-21T15:04:28.563 に答える