我的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");
}
?>
这可能是因为您的服务器没有安装或配置邮件服务器,或者sendmail_path
的php.ini设置错误。
在命令行上,你能发送这样的消息吗:
echo 'test' | mail -s 'test' me@example.com
如果这不起作用,php的邮件功能也不会起作用。
如果您的sendmail路径错误,您可以修复ini文件,或者切换到IsSendmail()
并在脚本中提供路径。
添加选项:
$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>";
也可以使用(不需要"引号")设置From:
$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说的,你还没有在电脑上设置邮件服务器。。。。