我的Phpmailer遇到了问题。出于某种原因,它说无法实例化邮件功能。可能是因为From和Fromname?我对PhpMailer几乎没有经验,所以如果有人可以帮助我会很棒!
<?php ob_start();
$naam= htmlspecialchars ($_REQUEST["nome"]);
$telefoon= htmlspecialchars ($_REQUEST["telefone"]);
$email= htmlspecialchars ($_REQUEST["email"]);
$woonplaats= htmlspecialchars ($_REQUEST["cidade"]);
$lengte= htmlspecialchars ($_REQUEST["altura"]);
$gewicht= htmlspecialchars ($_REQUEST["peso"]);
$streefgewicht= htmlspecialchars ($_REQUEST["ideal"]);
$leeftijd= htmlspecialchars ($_REQUEST["idade"]);
$hoe= htmlspecialchars ($_REQUEST["amigo"]);
$kanaal= htmlspecialchars ($_REQUEST["canal"]);
$commentaar= htmlspecialchars ($_REQUEST["comentario"]);
$waarover= htmlspecialchars ($_REQUEST["escolha"]);
//echo"$naam $telefoon $email $lengte $gewicht $streefgewicht $leeftijd $hoe $kanaal $commentaar $waarover";
require("class.phpmailer.php");
$naamgeadresseerde = "Karin Klaver";
$emailadres = "info@proefpakket4you.nl";
//verstuur nieuwsbrief
$mail = new PHPMailer();
// Geef aan dat het een HTML mail betreft
$mail->IsHTML(true);
$mail->From = $emailadres;
$mail->FromName = $naamgeadresseerde;
$mail->AddAddress("$emailadres","$naamgeadresseerde");
$mail->AddCC("info@shapecare.nl", "K. Klaver");
$mail->AddBCC("mikfetter@gmail.com", "Mik Fetter");
$mail->Subject = "Reactie proefpakket4you.nl"; // Subject aanpassen
// Alternatieve body
$mail->AltBody = "Reactie proefpakket4you.nl";
$mail->Body = "
Naam: $naam <br>
Telefoonnummer: $telefoon <br>
E-mail: $email <br>
Lengte: $lengte <br>
Gewicht: $gewicht <br>
Streefgewicht: $streefgewicht <br>
Leeftijd: $leeftijd <br>
Hoe op deze site terechtgekomen (kennis): $hoe <br>
Hoe op deze site terechtgekomen: $kanaal <br>
Aanvullende opmerkingen: $commentaar <br>
Meer info/ Proberen / Starten: $waarover<br>
";
//$mail->WordWrap = 50;
if(!$mail->Send())
{
echo 'Er ging iets mis tijdens het versturen';
echo $mail->ErrorInfo;
}else
{
//vervolgstap zetten
echo"Goed gedaan";
header ("Location: http://www.proefpakket4you.nl/bedankt.php?naam=$naam");
}
?>
答案 0 :(得分:1)
这很可能是因为您的服务器没有安装或配置邮件服务器,或者sendmail_path
的php.ini设置错误。
在命令行上,您可以发送如下消息:
echo 'test' | mail -s 'test' me@example.com
如果这不起作用,php的邮件功能也不会。
如果您的sendmail路径错误,您可以修复您的ini文件或切换到IsSendmail()
并在脚本中提供路径。
答案 1 :(得分:0)
添加选项:
$phpmailer->IsSMTP();
让我更可靠。
如果您刚刚使用它也会更清洁:
$mail->MsgHTML($body);
使用$ body作为html字符串而不是:
$mail->IsHTML(true);
$mail->Body = "
Naam: $naam <br>
Telefoonnummer: $telefoon <br>
E-mail: $email <br>
Lengte: $lengte <br>
Gewicht: $gewicht <br>
Streefgewicht: $streefgewicht <br>
Leeftijd: $leeftijd <br>
Hoe op deze site terechtgekomen (kennis): $hoe <br>
Hoe op deze site terechtgekomen: $kanaal <br>
Aanvullende opmerkingen: $commentaar <br>
Meer info/ Proberen / Starten: $waarover<br>";
你也可以设置使用(不应该&#34;引用&#34;)
$mail->setFrom($emailadres, $naamgeadresseerde);
您是使用本地邮件服务器还是特定服务器发送的? 如果你需要类似的东西:
$mail->Host = '127.0.0.1';
$mail->Port = 25;
对于本地主机,或者如果通过其他服务器发送,您可能需要提供使用该电子邮件地址发送的登录详细信息,例如:
$mail->SMTPSecure = "tls";
$mail->Host = 'smtp.microsoft365.com';
$mail->Port = 587;
$mail->Username = 'username';
$mail->Password = 'password';
或者它也可能是@Synchro所说的,并且您还没有在您的计算机上设置邮件服务器....