下面的代码一旦我把它放在服务器上就不起作用了,我有类似的代码在我的本地环境中工作,它运行得很好,有什么想法吗?
编辑:我确实将我的Gmail设置设置为“不太安全”
<?php
$setid = $_POST['setid'];
$promo = $_POST['promo'];
echo "Good Sir, your set ID is ".$setid.", and you are eligible for the following deal:";
echo "<br><br>";
echo $promo;
$message= "Good Sir, your set ID is ".$setid.", and you are eligible for the following deal:"."<br><br>".$promo;
require "phpmailer/class.phpmailer.php";
// Instantiate Class
$mail = new PHPMailer();
// Set up SMTP
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Encoding = '7bit';
// Authentication
$mail->Username = "xxx@example.com";
$mail->Password = "mypass";
// Compose
$mail->SetFrom("jghh@ghh.ca");
$mail->AddReplyTo("ghh@ghh.ca");
$mail->Subject = "TryIt";
$mail->MsgHTML($message);
// Send To
$mail->AddAddress("receiver@hotmail.com", "Recipient Name");
$result = $mail->Send();
$message = $result ? 'Successfully Sent!' : 'Sending Failed!';
unset($mail);
?>
这就是我在网络中获得的 - &gt;预览:
好先生,您的设置ID为100065,您有资格享受以下优惠:
当前促销:下次访问可享受15%的折扣!SMTP错误:无法进行身份验证。
答案 0 :(得分:1)
您可能需要启用less secure apps
更改安全性较低的应用的帐户访问权限
为了确保Google Apps用户的帐户安全,我们可能会减少阻止 保护应用访问Google Apps帐户。作为Google Apps 用户,尝试签名时会看到“密码不正确”错误 如果是这种情况,您有两种选择:
- 选项1:升级到使用最新版本的更安全的应用 安防措施。所有Google产品(如Gmail)都使用最新产品 安全措施。
- 醇>
选项2:更改您的设置以允许访问安全性较低的应用 你的帐户。我们不推荐这个选项,因为它可能会 有人可以更容易地侵入您的帐户。如果你想 无论如何都允许访问,请按照以下步骤操作:
2.1。转到“我的帐户”中的“Less secure apps”部分
2.2。在“访问安全性较低的应用”旁边,选择启用。 (注意 Google Apps用户:如果您的管理员已锁定不太安全的应用帐户访问权限,则会隐藏此设置。)
如果您仍然无法登录自己的帐户,则“password incorrect”错误可能是由其他原因造成的。
SRC:https://support.google.com/accounts/answer/6010255?hl=en
<强>更新强>
在打开PHP标记之后立即将错误报告添加到文件顶部,例如scipy
并在PHPMAILER上启用调试
<?php error_reporting(E_ALL); ini_set('display_errors', 1);
看它是否会产生任何结果。