我想发送一封PHPMailer
的邮件。我使用这段代码,但是我收到了这个错误:
地址无效:example@gmail.com
(我使用StackOverflow的假地址。我在实际代码中使用了一个真实的地址。)
<?php
$from = "My Name";
$mail = "example@gmail.com";
require_once('./class.phpmailer.php');
$bodytext = "
<html>
<head>
<title>title</title>
</head>
<body>
<h1 style='text-align:center'>Some text</h1>
<p>more text. Here's a name : $from</p>
</body>
</html>
";
try {
$email = new PHPMailer(true);
$email->From = 'webmaster@mysite.com';
$email->FromName = 'WebMaster';
$email->isHTML(true);
$email->Subject = 'subject';
$email->Body = $bodytext;
$email->addAddress( $mail, "Name" );
$email->AddReplyTo($mail,"Name");
// $file_to_attach = $filePath;
// $email->AddAttachment( $file_to_attach , 'constat.pdf' );
$email->Send();
} catch (Exception $e) {
echo $e->getMessage();
}
// var_dump($email);
?>
Sice已经有一台SMTP服务器正在运行,我没有必要配置它,而且PHP函数mail
正在运行。
如何解决此错误?
答案 0 :(得分:2)
好。实际上,正则表达式存在一个问题,即当选择的模式为pcre8
时,检查邮件地址是否有效。我把它改成了
/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
它现在正在工作。
谢谢@Synchro。