不使用Gmail SMTP在Gmail上接收电子邮件,而使用我的服务器SMTP在Web服务器上接收

问题描述 投票:0回答:1

[当用户提交表单时,我试图将联系表单发送给我的gmail,但是当我使用Gmail SMTP服务器时,我没有在Gmail上收到任何电子邮件,我尝试同时使用587端口的tls和465端口的ssl。] >

但是当我使用服务器SMTP时,它可以正常工作,并且我还通过网络服务器收到了电子邮件。代码在这里:

<?php
require('phpmailer/class.phpmailer.php');

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 0;
$mail->SMTPAuth = TRUE;
$mail->SMTPSecure = "tls";
$mail->Port     = 587;  
$mail->Username = "**********@gmail.com";
$mail->Password = "**********";
$mail->Host     = "smtp.gmail.com";
$mail->Mailer   = "smtp";
$mail->SetFrom($_POST["userEmail"], $_POST["userName"]);
$mail->AddReplyTo($_POST["userEmail"], $_POST["userName"]);
$mail->AddAddress("**********@gmail.com");  
$mail->Subject = "Website Contact Us Form Email";
$mail->WordWrap   = 80;
$mail->Body = "User Name: ".$_POST["name"]."<br/><br/>"."User Phone Number: ".$_POST["phone"]."<br/><br/>"."User Email: ".$_POST["email"]."<br/><br/>"."User Message: ".$_POST["message"]."<br/><br/>";

if(is_array($_FILES)) {
$mail->AddAttachment($_FILES['attachmentFile']['tmp_name'],$_FILES['attachmentFile']['name']); 
}

$mail->IsHTML(true);

if(!$mail->Send()) {
    echo "<p class='error'>Problem in Sending Mail.</p>";
} else {
    echo "<p class='success'>Contact Mail Sent.</p>";
}   
?>

[当用户提交表单时,我试图将联系表单发送到我的gmail,但是当我使用Gmail SMTP服务器时,我没有在Gmail上收到任何电子邮件,我尝试同时使用587和ssl的tls和...] >

email smtp gmail contact-form
1个回答
0
投票

假设您的身份验证凭据正确,这听起来可能是网络问题。您是否已确认防火墙已允许端口587上的出站流量?本地邮件代理可能正在localhost上侦听并将邮件发送回给您。

而且,由于SMTP用于发送邮件,因此我认为发件人地址实际上应与经过身份验证的帐户相同(您是将这封电子邮件发送给自己,而不是从用户的电子邮件帐户发送)。但是,如果您使用的是两个不同的电子邮件,则这并不完全适用。

© www.soinside.com 2019 - 2024. All rights reserved.