我通過PHP mail()函數發送帶有附件的信件,它的工作過程中沒有任何錯誤出現。消息直接發送到接收器,並保持所有文本不變。 問題是我發送消息的附件(PDF和圖像)如果我向GMail地址發送消息,但是如果我發送消息給其他郵件(我試過Mail.ru和一些網站郵件),它們會損壞。 如果我將消息轉發給GMail,它們仍然損壞,無法打開。但是,如果我將GMail的未損壞郵件轉發到其他郵件地址,則文件沒問題。 如果信息完全一樣,怎麼可能呢?PHP郵件()函數發送帶有或不帶有損壞的附件到不同的郵件系統
2
A
回答
1
我使用mail()函數遇到同樣的問題,我的建議是使用PHPMailer並通過SMTP發送電子郵件。
下面是使用PHPMailer的一小段代碼:
<?php
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
//$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtpserver.com'; // Specify main SMTP server. If you dont have one us GMAL or mandrill
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = '[email protected]'; // SMTP username
$mail->Password = 'pass'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to
$mail->setFrom('[email protected]', 'Mailer');
$mail->addAddress('[email protected]', 'Joe User'); // Add a recipient
$mail->addAddress('[email protected]'); // Name is optional
$mail->addReplyTo('[email protected]', 'Information');
$mail->addCC('[email protected]');
$mail->addBCC('[email protected]');
$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
0
我用斯威夫特梅勒對許多項目和從未有過的問題,具有良好的文檔,容易比其他框架來使用。
相關問題
- 1. 發送帶有郵件()函數的PHP郵件()函數
- 2. WordPress的 - 發送郵件帶有附件
- 3. Rails 3:發送帶附件的郵件 - 首次發送後損壞的文件
- 4. 當使用php郵件發送帶有圖像附件的電子郵件時發生圖像損壞()
- 5. PHP郵件()附件損壞
- 6. php腳本發送帶有文件附件的郵件
- 7. 帶附件的郵件不能發送HTML郵件
- 8. 不能發送帶有圖像附件的郵件
- 9. 帶有2個附件的PHP郵件
- 10. 發送帶有HTML的PHP郵件
- 11. 在php中發送帶有多個附件的郵件
- 12. PHP發送帶有圖像附件的電子郵件
- 13. 用pdf附件發送帶有Php的郵件
- 14. 發送帶有PHP問題的電子郵件pdf附件
- 15. SQL sp_send_dbmail發送帶附件的電子郵件,pdf文件被損壞
- 16. php - 帶附件的郵件
- 17. 發送帶附件的電子郵件
- 18. 無法發送帶附件的郵件
- 19. 帶附件的發送郵件消息
- 20. 發送帶附件的電子郵件
- 21. Android發送帶附件的郵件
- 22. Mailgun發送帶附件的郵件
- 23. 發送帶附件的郵件
- 24. 嘗試發送帶附件的郵件
- 25. 帶附件的PHP郵件返回True,不發送
- 26. PHP:從數據庫發送帶附件到電子郵件帳戶的郵件
- 27. PHP電子郵件攔截不發送帶附件的電子郵件
- 28. PHP - 郵件不會發送附件,只有沒有它附件
- 29. 通過PHP郵件()發送的Excel附件已損壞
- 30. 帶郵件頭的PHP郵件()函數
謝謝!像我這樣的所有問題的實際答案是停止使用本地郵件()附件實現。 PHPMailer(或YiiMailer,在我的情況下)從字面上更好地執行郵件發送,並且使代碼更清晰。 – Firellon