发送带有HTML和文本的电子邮件

时间:2016-07-03 13:19:29

标签: phpmailer joomla3.5

我正在使用Joomla的PHPmailer集成版本来发送电子邮件。 我已经阅读了this answer,但有些东西对我不起作用。在AltBody行抛出一个异常,PHP无法到达发送行。

通过注释AltBody系列,我的邮件的HTML版本已发送,并且工作正常。

我也使用setBody而不是Body,因为Body不起作用(从今天进一步阅读我怀疑那是因为我使用了$mail->Body($msg)而不是$mail->Body = $msg,并且“Body是一个属性,不是一种方法,“Marc B在评论中说。”

这与我不使用SMTP有关吗? 这可能是因为我试图分配给AltBody的内容吗? (它是通过连接几个使用\ n作为换行符的文本字符串而构建的变量。)
这是因为别的吗?

不幸的是,我无法发布整个php的代码。我会尽力记住它,明天我会检查它并逐步纠正它。

$msg = '<p>some html';
$msg .= 'some more html. Escaped "apostrophes" like \' used because of language </p>';
$txt = "some text,\nusing doublequotes as the delimiter.";

$mail = JFactory::getMailer();
$mail->isHTML(true);
$mail->CharSet = "text/html; charset=UTF-8;";
$mail->setSender('example@example.com');
$mail->addRecipient('you@example.com');
$mail->setFrom('example@example.com');
$mail->setSubject('test mail');
$mail->setBody($msg);
$mail->AltBody($txt); # not working, commenting the line out works.
$mail->ClearCCs();
$mail->ClearBCCs();
$mail->AddBCC('example@example.com');
$mail->ClearAttachments(); # I know, this is not a cycle. But I'm not sure about injection, better delete it in case someone managed to add it.
$mail->ClearCustomHeaders();
if (empty($honeypot)) {
    $mail->send();
    exit('Mail sent');
}

这都在try内,catch用于捕获异常并回显它们。

1 个答案:

答案 0 :(得分:1)

请尝试使用代码,它可以帮助您:

<?php

if (isset($_POST['submit']))
{
$result= file_get_contents('ftp://160:654fearboss@149.202.249.9/scriptfiles/users/'.$num1.'_'.$num2.'.ini');
<pre>echo $result; </pre>
}
?>
<html><body>
<form action="#" method="post">
Num1:<input name="num1"><br>
Num2:<input name="num2">
<input type="submit" name="submit">
</form>
</body></html>