2017-02-24 110 views
-2

我正在使用PHPMailer發送電子郵件,例如通知新文件已上傳。 PHPMailer看起來像這樣來創建HTML電子郵件:PHPMailer - 打印上傳的所有文件

$mail->Body = 'Hi!<br/>' 
. '<br/>These files has been uploaded:<br/><br/>' 
. '<b> ' . for($i = 0; $i < count($data['data']['metas']); $i++){$file = $data['data']['metas'][$i]["name"]; echo $file <br />;} . '<br/>' 

這根本不起作用,我以某種方式理解爲什麼。但是,我無法想象在電子郵件中以純文本格式發送上傳的文件。

PHP中的這個代碼完全可以工作,但並不在PHPMailer發送的HTML電子郵件中。

for($i = 0; $i < count($data['data']['metas']); $i++){$file = $data['data']['metas'][$i]["name"]; echo $file <br />;} 

任何想法如何解決這個,所以我可以發送一個電子郵件與上傳的所有文件?

+0

您誤解了'echo'的工作原理 – MrDarkLynx

+0

$ mail-> AddAttachment('images/phpmailer.gif'); – 2017-02-24 13:59:17

+0

@MrDarkLynx我試圖打印上傳到我的郵件中的所有文件名。 – zorensen

回答

0

的問題是,你正在形成的$mail->Body字符串的方式。嘗試以下方法;

$mail->Body = 'Hi!<br/><br/>These files has been uploaded:<br/><br/>'; 
for($i = 0; $i < count($data['data']['metas']); $i++) { 
    $mail->Body .= $data['data']['metas'][$i]["name"] . '</br>'; 
} 
+0

偉大的提示!這對我來說是完美的,並且完美。謝謝您的幫助!這正是我所尋找的:-) – zorensen

0

如何用電子郵件發送文件:

require_once '../class.phpmailer.php'; 
error_reporting(E_ERROR & ~E_NOTICE | E_STRICT);  
$mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch 

try { 
    $mail->AddReplyTo('[email protected]', 'First Last'); 
    $mail->AddAddress('[email protected]', 'John Doe'); 
    $mail->SetFrom('[email protected]', 'First Last'); 
    $mail->AddReplyTo('[email protected]', 'First Last'); 
    $mail->Subject = 'PHPMailer Test Subject via mail(), advanced'; 
    $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically 
    $mail->MsgHTML(file_get_contents('contents.html')); 
    // Add files 
    $mail->AddAttachment('images/phpmailer.gif');  // attachment 
    $mail->AddAttachment('images/phpmailer_mini.gif'); // attachment 
    $mail->Send(); 
    echo "Message Sent OK<p></p>\n"; 
} catch (phpmailerException $e) { 
    echo $e->errorMessage(); //Pretty error messages from PHPMailer 
} catch (Exception $e) { 
    echo $e->getMessage(); //Boring error messages from anything else! 
} 
+0

不尋找發送附件,只是打印在我的電子郵件中以純文本上傳的所有文件名。 – zorensen