2016-09-29 3 views
0

私はHTMLコンテンツのメールを送信しようとしていますが、どのような種類のヘッダーも渡すと、mail()はfalseを返しますがヘッダーはありません。私はヘッダーをmail()関数に渡している間にメールを送信できません

   $to   = $user->email; 
       $name  = $user->first_name.' '.$user->last_name; 
       $from  = $this->config->item('admin_email', 'ion_auth'); 
       $subject = $this->config->item('site_title', 'ion_auth') . ' - ' . $this->lang->line('email_forgotten_password_subject'); 

       $headers = 'MIME-Version: 1.0' . "\r\n"; 
       $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; 
       $headers .= 'From: ' . $name . ' <' . $from .'>' . " \r\n" . 
       'Reply-To: '. $from . "\r\n" . 
       'X-Mailer: PHP/' . phpversion(); 

       $retval = mail ($to,$subject,$message,$headers); 

       die(var_dump($retval)); 
+0

メールにヘッダを渡す場所がわかりません –

+0

あなたはそのコード内でヘッダを一切渡していません。 '$ headers'を変数として渡すことを意味しましたか? –

+0

他の変数がどこにあるのかもわかりません。 –

答えて

0

変数$name$from$to$subjectは正しいデータを持っており、ヌル/空でないことを確認してください。あなたのコードは機能しており、電子メールを送信する必要があります。

まだ動作しない場合は、使用しているpostfixやその他のメールサーバーの設定を確認してください。

単純なメール機能の代わりにPhpMailerまたはSwiftMailerを使用することをお勧めします。

0

最後のヘッダーの後にCRLFを追加してみてください。昔から私のために働いていました。

即ち、

... 
$headers .= 'From: ' . $name . ' <' . $from .'>' . " \r\n" . 
      'Reply-To: '. $from . "\r\n" . 
      'X-Mailer: PHP/' . phpversion() . "\r\n"; 
... 

また、ヘッダContent-Type資本Tを有しています。時には、そのような些細なことも、それを壊すかもしれません。だから誰もがそれから離れて行くことを提案している。

それはそれを行う必要があります。

提案:PHPMailerに切り替えてください。

関連する問題