0

PHP のメール機能で、ヘッダーを送信するときに、「From Mail」を「会社のニュースレター」のみのような単語に設定できますか? どうすればそれができますか?それを書くことは(電子メールフォームではなく)電子メールが送信されないようにするためです。

ここに私のコードがあります:

  $headers  = "MIME-Version: 1.0\r\n";
  $headers .= "Content-type: text/html; charset=windows-1256\r\n";

私はティムが提案したことを試しました

  $row['SenderMail'] =  "Company Newsletter <Newsletter@ids.com.lb>";
  $headers .= "From:".$row['SenderMail']."\r\n"; 

  $subject=str_replace('%26','&',$row['Subject']);

  @mail($row['DestinationMail'], $subject, $row['Body'],$headers);

しかし、まだメールが送信されていません。

4

3 に答える 3

2

以下は有効な From: ヘッダーです。アドレスが山括弧で囲まれていることに注意してください。

"Company Newsletter <newsletter@company.com>"

多くの電子メール クライアントは、インターフェイスの [差出人] 列に会社のニュースレターを表示するだけです。

これは Return-Path: ヘッダーでは許可されておらず、From: のみであることに注意してください。

RFC 2822 3.4 の「表示名」に注意して ください https://www.rfc-editor.org/rfc/rfc2822#section-3.4

于 2012-10-02T10:00:24.597 に答える
0

以下を使用してください。

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=windows-1256'."\r\n";
$headers .= 'To: '.$row['SenderMail'].' <'.$row['SenderMail'].'>'."\r\n";
$headers .= 'From: Company Newsletter <Newsletter@ids.com.lb>'."\r\n";

mail($row['DestinationMail'], $subject, $row['Body'], $headers);

それはトリックを行う必要があります!

于 2012-10-02T12:20:45.043 に答える
0

再確認したところ、次のような基本的な例で動作しています:

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=windows-1256'."\r\n"; 
$headers .= 'To: Test <your@email.com>'."\r\n"; 
$headers .= 'From: Company Test <company@test.com>'."\r\n"; 

mail('Test <your@email.com>', 'test mail', 'test content', $headers);

どの PHP バージョンで使用していますか? メールサーバーを設定しましたか? これらの行をスクリプトの先頭に追加してください:

ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT); 
于 2012-10-03T07:37:22.053 に答える