簡體   English   中英

PHP 生成的電子郵件 > iPhone 上缺少附件

[英]PHP generated e-mail > attachment missing at iPhone

我的一個腳本遇到了一個奇怪的問題。 使用此代碼發送電子郵件,發送的電子郵件沒有任何錯誤,並在普通 Windows 計算機、iMac 和安卓移動設備中以可訪問的附件接收。

但是當在 iPhone 上收到電子郵件時,郵件會顯示回形針,但根本沒有可以打開的附件圖標。

有什么建議?

// attachment algemene voorwaarden
$check_upload = glob('../uploads/algemene_voorwaarden/*.*');
foreach($check_upload as $val) { $mail->AddAttachment($val); }

// other attachments
$check_upload = glob('../uploads/file_browser/bevestigingen/'.$mail_folder.'/*.*');
foreach($check_upload as $val) { $mail->AddAttachment($val); }

// convert \r\n to new lines
$mail_body = stripcslashes(isset($mail_body) ?  preg_replace('#(\\\r|\\\r\\\n|\\\n)#', '<br/>', $mail_body) : false);
$mail_body = str_replace("<br/><br/>","<br/>",$mail_body);

$mail->AddEmbeddedImage('../img/'.$config['logo_mail'], 'header');
$mail->AddEmbeddedImage('../img/mail_logo_torza.png', 'footer');

$mail->Subject = 'Orderbevestiging van '.$config['bedrijf'];
$mail->Body = '<html><head></head>'.
                    '<body style="margin: 10px;" style="font-family:Verdana, Verdana, Geneva, sans-serif; font-size:12px; color:#000000;">

                        <table bgcolor="'.$config['logo_color'].'" width="800" align="center" cellspacing="0" cellpadding="0">
                        <tr>
                            <td colspan="2"><img src="cid:header" width="800"></td>
                        </tr>
                        <tr style="padding: 3em;">
                            <td colspan="2">
                                '.$mail_body.'
                            </td>
                        </tr>
                        <tr valign="middle">
                            <td width="50%" align="right"><small><strong>Powered by &nbsp;&nbsp;</strong></small></td>
                            <td width="50%" align="left"><a href="http://www.torza.nl" target="_blank"><img src="cid:footer" width="50" alt="Torza"></a></td>
                        </tr>
                        </table>

                    </body></html>';

if(!$mail->Send()) { echo'<div class="alert alert-danger text-center" role="alert">Er is helaas iets fout gegaan.</div>'; die; }

來自 Apple 設備的官方 GitHub 錯誤:鏈接

Solveta,這是一個 iOS 錯誤,而不是 PHPMailer。 您可以使用 Gmail 或 Outlook 或其他郵件客戶端進行驗證。 向您的 iPhone 發送一封電子郵件,其中包含幾個嵌入的圖像和一個 1MB 以上的文件,您將看到該郵件將在您的 iPhone 上標記為“已下載為純文本”。 此行為與消息的大小有關。 如果消息 <~500KB,我檢查了這不會發生。

(非常)可悲的是,至少在 iOS10.x 上,即使您單擊“下載完整消息”,它也不會顯示嵌入的圖像。 解決方法是雙擊主頁按鈕,關閉郵件應用程序並重新打開郵件。 我在 Apple 網站上打開了 2 個錯誤,但沒有答案......(不會對此發表評論)

出現問題的原因是在頁眉和頁腳中添加圖像的方式。

$mail->AddEmbeddedImage('../img/'.$config['logo_mail'], 'header');
$mail->AddEmbeddedImage('../img/mail_logo_torza.png', 'footer');

<img src="cid:header" width="800">

<img src="cid:footer" width="50" alt="Torza">

我現在已將其更改為

<img src="data:image/jpg;base64,-- BASE 64 STRING -- " />

圖像在此處編碼: https : //www.motobit.com/util/base64-decoder-encoder.asp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM