2017-02-24 64 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