我正在开发一个基于网络的系统,我想从网站向系统最终用户发送通知电子邮件。在我的生活中,我没有这样做,所以我搜索了一下,然后我就这样做了:
<?php
$dbhost="xxx";
$dbuser="xxx";
$con = mysql_connect($dbhost,$dbuser, "");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db('xxx');
require_once('libs/phpMailer/PHPMailerAutoload.php');
$m = new phpMailer;
$m->isSMTP();
$m->SMTPAuth = true;
$m->SMTPDebug = 2;
$m->Host = 'smtp-mail.outlook.com';
$m->Username = 'xxx';
$m->Password = 'xxx';
$m->SMTPSecure = 'ssl';
$m->Port = 587;
$m->From = 'xxx';
$m->FromName = 'xxx';
$m->addReplyTo('xxx','Reply Address');
$m->addAddress('xxx','xxx');
$m->addCC('xxx','xxx');
$m->addBCC('xxx','xxx');
$m->Subject = 'Subject';
$m->Body = 'This is the body';
$m->AltBody = 'This is the body';
var_dump($m->send());
if ($m->send())
{
echo "success";
}
else
{
echo $m->ErrorInfo;
}
?>
我收到此错误:SMTP connect()失败。
主机,用户名,密码和端口到底应该是什么?
答案 0 :(得分:1)
可以从电子邮件提供商处获取主机和端口。用户名和密码是您的电子邮件和密码,例如:
对于GMAIL:假设我的电子邮件ID为 xyz@gmail.com ,密码为 1709 。
$m->Host = 'smtp.gmail.com';
$m->Username = 'xyz@gmail.com';
$m->Password = '1709';
$m->Port = 587;
您可以在自己喜欢的搜索引擎中搜索任何电子邮件提供商的设置,例如“Outlook SMTP设置”,“Yahoo SMTP设置”等。
答案 1 :(得分:0)
SMTP服务器的设置如主机,用户名,密码和端口需要在上面的代码中设置。可以从服务器管理员处获取相同的内容。
或者您可以使用PHP mail()函数。示例代码如下:
<?php
$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: test@mailinator.com' . "\r\n" .
'Reply-To: test@mailinator.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
希望这有帮助。
由于