消息体中的PHP Mailer-foreach

消息体中的PHP Mailer-foreach,php,foreach,phpmailer,Php,Foreach,Phpmailer,我想在电子邮件正文中包含使用foreach的结果。当我添加foreach语句时,PHP-Mailer似乎只是切断了消息。关于如何在消息正文中包含多个结果,您有什么想法吗 $mail->Body = '*** Automated email - do not reply ***<br><br>Hello '.$Name.', <br><br>We were able to connect you with the following se

我想在电子邮件正文中包含使用foreach的结果。当我添加foreach语句时,PHP-Mailer似乎只是切断了消息。关于如何在消息正文中包含多个结果,您有什么想法吗

$mail->Body    = '*** Automated email - do not reply ***<br><br>Hello '.$Name.', <br><br>We were able to connect you with the following services. <br><br> ';
foreach($findResult['data'] as $key=>$findData){ 
 if($findData['CompanyEmail'][0] != NULL || $findData['CompanyPhone'][0] != NULL) { 
     echo $findData['CompanyName'][0]; 
     echo $findData['CompanyContact'][0]; 
     echo $findData['CompanyPhone'][0];
     echo $findData['ContactEmail'][0];
     }?><br><?php }
$body .='<br><br>Thank you for using our directory.<br><br><br>Regards,<br><br>Sender';
$mail->Body='***自动电子邮件-请勿回复***

您好。$Name',

我们可以通过以下服务为您连接

'; foreach($findResult['data']作为$key=>$findData){ 如果($findData['companymail'][0]!=NULL | |$findData['CompanyPhone'][0]!=NULL){ echo$findData['CompanyName'][0]; echo$findData['CompanyContact'][0]; echo$findData['CompanyPhone'][0]; echo$findData['ContactEmail'][0];
}?>
您需要使用
$mail->Body.=
来继续字符串,而不是使用echo。如下所示:

$mail->Body    = '*** Automated email - do not reply ***<br><br>Hello '.$Name.', <br><br>We were able to connect you with the following services. <br><br> ';
foreach($findResult['data'] as $key=>$findData){ 
    if($findData['CompanyEmail'][0] != NULL || $findData['CompanyPhone'][0] != NULL) { 
        $mail->Body .= $findData['CompanyName'][0]; 
        $mail->Body .= $findData['CompanyContact'][0]; 
        $mail->Body .= $findData['CompanyPhone'][0];
        $mail->Body .= $findData['ContactEmail'][0];
    }
}
$body .='<br><br>Thank you for using our directory.<br><br><br>Regards,<br><br>Sender';
$mail->Body='***自动电子邮件-请勿回复***

您好,“$Name.”,

我们可以通过以下服务为您连接。

; foreach($findResult['data']作为$key=>$findData){ 如果($findData['companymail'][0]!=NULL | |$findData['CompanyPhone'][0]!=NULL){ $mail->Body.=$findData['CompanyName'][0]; $mail->Body.=$findData['CompanyContact'][0]; $mail->Body.=$findData['CompanyPhone'][0]; $mail->Body.=$findData['ContactEmail'][0]; } } $body.='

感谢您使用我们的目录。


问候,

发件人';

如果,正如我所怀疑的那样,
$body
也应该是电子邮件的一部分,那么将其更改为
$mail->body.=

您有
$mail->body
$body
,它们完全不相关……在
foreach
中,您只需输出内容。如果您希望所有内容都在邮件正文中,请将其放在那里,而不是全部在这里。@TillHelge这不是人们来这里学习的原因吗?@Styphon这一页不太适合教授要点。从这个问题很容易看出,即使是最基本的调试技术(echo/log变量)是OP所不知道的,他永远也不会从中学习,因为他在这里得到的都是代码片段,而他真的需要一个正确的解释,说明什么是问题,以及如何自己去发现问题。@TillHelge我同意Styphon的观点。当完全的初学者发布像OP这样的问题,包括他们的代码时,什么他们没有期待,表现出一些努力,也没有要求为他们编写应用程序;这就是他们的目的。问题是“如何在PHP中发送邮件?是否有人可以编写一个脚本为我发送用户输入”,这不受欢迎感谢感谢你的帮助,Styphon。我真的很感谢。它很有效,我可以理解为什么它没有成功(太感谢你了。