欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

用phpmailer发邮件的时候出现问题

程序员文章站 2022-06-06 19:50:03
...
require_once('class.phpmailer.php'); //下载的文件必须放在该文件所在目录
$address=$_POST['address'];
echo $address."
";
$mail = new PHPMailer(); //建立邮件发送类
$address = $_POST['address'];
$mail->IsSMTP(); // 使用SMTP方式发送
$mail->Host = "smtp.163.com"; // 您的企业邮局域名
$mail->SMTPAuth = true; // 启用SMTP验证功能
$mail->Username = "*********@163.com"; // 邮局用户名(请填写完整的email地址)
$mail->Password = "********"; // 邮局密码
$mail->From = "******@163.com"; //邮件发送者email地址
$mail->FromName = "";
$mail->AddAddress("$address", "QQ");//收件人地址,可以替换成任何想要接收邮件的email信箱,
$mail->Subject = "PHPMailer测试邮件"; //邮件标题
$mail->Body = "Hello,这是测试邮件"; //邮件内容
$mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //附加信息,可以省略

if(!$mail->Send())
{
echo "邮件发送失败.

";
echo "错误原因: " . $mail->ErrorInfo;
exit;
}

echo "邮件发送成功";
?>

Warning: preg_match() [function.preg-match]: Compilation failed: reference to non-existent subpattern at offset 626 in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\class.phpmailer.php on line 667
邮件发送失败.
错误原因: You must provide at least one recipient email address.



回复讨论(解决方案)

$mail->AddAddress($address, "QQ"); //这样呢

$mail->AddAddress($address, "QQ"); //这样呢
不能啊,你试过可以吗?

echo $address ; //是什么值

输出你的 $address看看,可能不是正确的邮箱地址

输出你的 $address看看,可能不是正确的邮箱地址
我已经输出了,待我改了之后又出现新的问题
Could not instantiate mail function. 邮件发送失败.
错误原因: Could not instantiate mail function

echo $address ; //是什么值
那是看看我的邮箱有没有错误,输出的结果是我的邮箱

$mail->SMTPDebug = 1; //加上这句看能不能找到原因

$mail->SMTPDebug = 1; //加上这句看能不能找到原因
没有用,结果也是Could not instantiate mail function. 邮件发送失败.
错误原因: Could not instantiate mail function.

你的163账号是否是一个有效的账号。试试QQ邮箱能发吗
$mail->AddAddress($address); //改成这样试试

你的163账号是否是一个有效的账号。试试QQ邮箱能发吗
$mail->AddAddress($address); //改成这样试试
不行,我觉得应该不是编码的问题,是php.ini配置问题

你的163账号是否是一个有效的账号。试试QQ邮箱能发吗
$mail->AddAddress($address); //改成这样试试
我在一些网站找到只言片语,不过打不开里面的具体内容

Email Error: Could not instantiate mail function 这其实是我们设置不当造成的,后台email设置里要求我们以这种各式: name 如果不这样设置 ...

我也是遇到同样问题,在win环境调试完全正常,移植到centos5.9就出现这个了
Invalid address: 12336@qq.com邮件发送失败,错误信息:You must provide at least one recipient email address.