Phpmailer 不在同一域上发送电子邮件

Har*_*maz 2 php email phpmailer

我有一个网站,并且有一个联系表格。我的代码如下:

$name = $_POST['name'];
$email = $_POST['email'];

$mail = new PHPMailer(true);

if (!$mail->addAddress('email@domain.com','email')) {
  die('Invalid email address');
}
$mail->isSMTP();
//$mail->SMTPAuth = true;
$mail->SMTPDebug = 2;
$mail->Host = 'localhost';
$mail->Subject = 'Subject';
$text = 'A mail...';
$mail->MsgHTML($text);
$mail->SetFrom($email);
//$mail->AddReplyTo($email,$name);

if ($mail->Send()){
Run Code Online (Sandbox Code Playgroud)

如果用户输入他/她的邮件地址,例如“address@gmail.com”或“add@hotmail.com”,则会将电子邮件发送到该地址。但是如果我输入 my@mydomain.com,它会显示消息已发送,但邮件是没有到达。我搜索了 2 天但找不到合适的解决方案。我也尝试过这个:

我写了 $mail->addAddress('mybackupmail@gmail.com','email'),然后将传入的邮件转发到 mybackupmail@gmail.com 到 'mydomain@domain.com'。它也没有发送。我几乎尝试了一切。我的 mx 记录如下:

在此输入图像描述

我是否应该更改这些设置?还是其他方面的问题?

我将非常感谢任何帮助。

感谢您的兴趣,

小智 5

您是否使用Godaddy 的cpanel 主机?我不知道这是“cpanel 无处不在”,还是只是在 godaddy,但进入你的 cpanel 并寻找一个名为“MX Entry”的东西,然后将其从本地更改为远程。本地告诉服务器“我们是这个域的邮件引擎,我们在这个cpanel中”,远程告诉它“这个域的电子邮件在cpanel之外处理”......你的MX记录告诉我你正在使用工作区电子邮件,因此您需要 MX Entry 才能远程:)