2016-06-13 33 views
0

當我在電子郵件中包含圖像時,它顯示發送成功但郵件未發送。如果我刪除圖片,它會成功運行併發送電子郵件。 這裏是我發送電子郵件的功能。使用php郵件功能發送電子郵件。郵件成功發送,如果我從電子郵件中刪除圖像

$to = $_POST['email']; 
$subject = "Invitation"; 
$from = "Sender Name"; 
$from_mail = "[email protected]"; 
$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=UTF-8\r\n"; 
$headers .= "From: ".$from." <".$from_mail.">\r\n"; 
$message = " <div style='font-family:HelveticaNeue-Light,Arial,sans-serif;background-color:#eeeeee'> 
<table align='center' width='100%' border='0' cellspacing='0' cellpadding='0' bgcolor='#eeeeee'> 
    <tbody> 
    <tr> 
     <td> 
     <table cellpadding='0' cellspacing='0' width='630px' align='center'> 
      <tr> 
      <td> 
       <div style='border:3px solid #0074B6'> 
       <a href='http://www.example.com'> 
        <img src='http://example.com/images/store_logo.png' width='600' height='110' style='padding: 15px 0 0 10px;' alt='Invitation' />     </a> 
       <hr style='border:2px solid #0074B6;'> 
       <div style='padding: 5px 20px 0; text-align: justify;'> 
        <p> 
        Other text..... 
        </p> 
        </div> 
       </div> 
       </td> 
      </tr> 
      </table> 
     </td> 
     </tr> 
    </tbody> 
    </table> 
</div>"; 
$sendmail = mail($to,$subject,$message,$headers); 
+0

如果你的意思是從內容中刪除'img'標記HTML,那麼我認爲這不會阻止它發送('$ sendmail'包含了什麼?true或false)。儘管我猜想有一個變化,它被認爲是垃圾郵件。 –

+0

$ sendmail包含結果true。你是對的。我也認爲只有img不能阻止電子郵件。但我在做錯誤的地方我不知道。 – pratik

+2

然後就PHP而言,電子郵件已發送(或更確切地說是傳遞給MTA)。檢查您的郵件日誌以獲取更多信息。 –

回答

2

我也面臨同樣的問題,您可以嘗試一個小的解決方案。把你的消息中單引號和圖片標籤這樣<img src="http://example.com/images/store_logo.png" width='600' height='110' class="CToWUd"> 如果還是老樣子沒有工作,那麼你可以使用[PHPMailer的] [1]

[1]:https://github.com/PHPMailer/PHPMailer它非常容易使用

0

使用PHPMailer的腳本。你聽起來像是在拒絕它,因爲你想要更簡單的選擇。相信我,與使用PHP內置的mail()函數試圖自己完成相比,PHPMailer是一個非常大的優勢。 PHP的mail()函數確實不是很好。

要使用的PHPMailer:從這裏

  • 下載PHPMailer的腳本:http://github.com/PHPMailer/PHPMailer
  • 提取存檔文件和腳本的文件夾複製到項目中的一個方便的地方。
  • 包括主腳本文件 - require_once('path/to/file/class.phpmailer.php');

現在,發送郵件帶附件被瘋狂難以令人難以置信的容易有云:

$email = new PHPMailer(); 
$email->From  = '[email protected]'; 
$email->FromName = 'Your Name'; 
$email->Subject = 'Message Subject'; 
$email->Body  = $bodytext; 
$email->AddAddress('[email protected]'); 

$file_to_attach = 'PATH_OF_YOUR_FILE_HERE'; 

$email->AddAttachment($file_to_attach , 'NameOfFile.pdf'); 

return $email->Send(); 

這只是一條線$的電子郵件 - > AddAttachment( ); - 你不能要求更輕鬆。

如果你使用PHP的mail()函數完成它,你將會編寫代碼堆棧,並且你可能會有很多真正難以發現的錯誤。

相關問題