2012-02-10 9 views
5
$headers = "\r\n" . "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; 

$message = Swift_Message::newInstance() 
       ->setSubject($subject) 
       ->setFrom(array('[email protected]' => 'From Address')) 
       ->setTo(array('[email protected]' => 'To Address')) 
       ->setBody($message_plain_txt) 
       ->addPart($message, 'text/html') 
     ; 
if ($file_name) 
     { 
      $message->attach(Swift_Attachment::fromPath($file_path)); 
     } 

$result = $mailer->send($message); 

を行くユーザーがフォームからファイルを添付し、$ file_nameはtmpファイル名$ _FILES [「ファイル」] [とき私が使用していTMPパスです'名']。

この設定ではメールを送信できますが、添付ファイルがある場合は迷惑メールフォルダに入ります。添付ファイルがない場合、メールは受信トレイに入ります。

この設定は、場所からファイルをアップロードしていて、添付ファイルをフォームから送信していないときに、問題なく動作します。

私はそれが電子メールヘッダーと関係があると思いますが、私はエラーを理解することができません。

私がここでやっている間違いを手伝ってもらえますか?

はそれがスパムフォルダに行く避けるために、次のヘッダーを追加します

$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type: text/plain; charset=iso-8859-1\n"; 

答えて

6

にヘッダを変更することで、作業ガット:2015年ではSwiftMailerのバージョンで

$headers .= "Message-ID: <".time()." [email protected]".$_SERVER['SERVER_NAME'].">\r\n"; 
$headers .= "X-Mailer: PHP v".phpversion()."\r\n";   
+0

上記のコードを追加しても、メールが迷惑メールになります。 – user434509

+0

私は何が問題なのか分かりませんが、これは私にとってはうまくいっています。サーバーのspamfilterに依存するかもしれません。 –

+1

ヘッダーをさらに変更して作業しました – user434509

3

、あなたはビルトイン使用しgetHeaders()ヘッダーを設定するメソッド。

$headers =& $message->getHeaders(); 
$headers->addIdHeader('Message-ID', "[email protected]"); 
$headers->addTextHeader('MIME-Version', '1.0'); 
$headers->addTextHeader('X-Mailer', 'PHP v' . phpversion()); 
$headers->addParameterizedHeader('Content-type', 'text/html', ['charset' => 'utf-8']); 
+1

[doc](http://swiftmailer.org/docs/headers.html#adding-new-headers)から、ref( '=&')で返す必要はありません。 – IROEGBU

関連する問題