-3

PHP でメールを送信する方法 $from1="from@gmail.com"; $headers = 'MIME バージョン: 1.0' . "\r\n ; $headers.= 'Content-type: text/html; charset=utf-8' .\r\n ; $headers.=From: Newslatter ' .$from1 \r\n.; $headers .= Reply-To: '.$from1.\r\n ; $headers .=Return-Path:'. $from1 \r\n.; $headers .= CC:.$CCMAIL1 \r\n.; $headers .= ' BCC: '.$BCCMAIL \r\n.;

if(mail($to,$subject,$message,$headers)){
    return true;
}
else{
    return false;
}
4

3 に答える 3

0

バッククォート (`) を使用して文字列を表すことはできません。PHP 変数や \n や \r などを含む文字列には二重引用符 (") が必要ですが、それ以外の場合は単一引用符 (') が機能します。

これは間違っています:

$headers  = 'MIME-Version: 1.0' . "\r\n`;

そしてこれは正しいです:

$headers  = 'MIME-Version: 1.0' . "\r\n";

またはこれ:

$headers  = "MIME-Version: 1.0 \r\n";

など。このようにすべてのコードをクリアしてください。

二重引用符を使用すると、連結を回避できるため、次のようになります。

echo "The value of my_var is $my_var";

以下と同じです:

echo 'The value of my_var is ' . $my_var;

ただし、バッククォートはこの目的では機能せず、エラーがスローされます。

それ以外は、php.ini ファイルで SMTP 設定を構成していることを確認してください。

于 2013-08-29T11:00:48.273 に答える
0

単純なクォータのみを使用する必要があります:"および'. このような:

$headers = 'MIME-Version: 1.0' . '\r\n';
$headers .= 'Content-type: text/html; charset=utf-8' . '\r\n';
$headers .= 'From: Newslatter ' .$from1.'\r\n';
$headers .= 'Reply-To: '.$from1.'\r\n';
$headers .= 'Return-Path:'.$from1.'\r\n';
$headers .= 'CC: '.$from1.'\r\n';
$headers .= 'BCC: '.$from1.'\r\n';

if(mail($to,$subject,$message,$headers)){
    return true;
}
else{
    return false;
}

$toまた、、$subjectおよびも設定する必要があり$messageます。

PHP メール機能の詳細については、こちらを参照してください。

変数の設定またはクォータの使用については、こちらをご覧ください。

于 2013-08-29T11:41:02.900 に答える
0

送信する予定のアカウントやサーバーの設定によっては、PHP のメール機能を使用している場合、メールが配信されないことがあります。これが事実であることがわかりました。Gmail は、PHP メール経由で送信されたメールをフィルタリングしていました。

SMTP PHP Mail クラスを使用すると、この問題を回避できます。

https://github.com/Synchro/PHPMailer

メール ホストから提供された SMTP メール サーバー、ユーザー、およびパスワードを知っているだけで済みます。

アラン。

于 2013-08-29T11:01:38.880 に答える