在 codeigniter 上使用 godaddy smtp 中继和 PHPMailer 发送电子邮件
Sending Email using godaddy smtp relay and PHPMailer on codeigniter
我正在尝试重置密码邮件给客户端用户。我正在使用从控制器调用的辅助函数来发送电子邮件。
function submit_email($to,$subject,$message)
{
$CI = get_instance();
$CI->load->library('My_PHPMailer');
$mail = new PHPMailer();
$mail->Host = "relay-hosting.secureserver.net";
$mail->Port = 465;
$mail->SetFrom('info@domain.in', 'Saurabh Pradhan');
$mail->AddReplyTo("info@domain.in","Saurabh Pradhan");
$mail->Subject = $subject;
$mail->Body = $message;
$mail->AltBody = "Plain text message";
$destino = $to;
$mail->AddAddress($destino, "John Doe");
if(!$mail->Send()) {
$data["message"] = "Error: " . $mail->ErrorInfo;
} else {
$data["message"] = "Message sent correctly!";
}
var_dump($data);
}
场景 1(工作):如果收件人地址是我个人的 gmail.id 例如。 pradhansp@gmail.com 邮件送达正常。
array(1) { ["message"]=> string(23) "Message sent correctly!" }
情况 2(不工作):如果收件人地址是客户端域信息@domain.in,那么我也收到了成功消息,但邮件未送达。
这里很重要的一点是客户端域托管在 godaddy 上,但是对于电子邮件,他使用 google 应用程序进行工作。我已经查看了 godaddy 帐户上的 MX 条目,它们正确指向 google.
优先|邮件服务器
1 | ASPMX.L.GOOGLE.COM.
经过多次尝试不同的解决方案后,我终于设法在回答以下列出的问题的帮助下让它工作。感谢@Vicm
can't send email to addresses at my own domain
使用以下步骤将 MX 记录添加到 cPanel:
进入控制面板
- 转到 cPanel 邮件部分
- 搜索MX Entry Maintenance,有时上面没有文字
图标。
- Select 相关域名
- 将电子邮件路由更改为远程邮件交换器。
- 添加所有 google MX 记录,因为它们在您的域中
配置使用适当的优先级值。你可以检查
这里的记录和优先级
https://support.google.com/a/answer/174125
- 仔细检查远程邮件交换器。已选中。
通过此设置,我可以使用 PHPMailer 将电子邮件发送到 godaddy 域中的电子邮件帐户。
Google 关于 MX 记录的应用说明 https://support.google.com/a/answer/54717?hl=en
我正在尝试重置密码邮件给客户端用户。我正在使用从控制器调用的辅助函数来发送电子邮件。
function submit_email($to,$subject,$message)
{
$CI = get_instance();
$CI->load->library('My_PHPMailer');
$mail = new PHPMailer();
$mail->Host = "relay-hosting.secureserver.net";
$mail->Port = 465;
$mail->SetFrom('info@domain.in', 'Saurabh Pradhan');
$mail->AddReplyTo("info@domain.in","Saurabh Pradhan");
$mail->Subject = $subject;
$mail->Body = $message;
$mail->AltBody = "Plain text message";
$destino = $to;
$mail->AddAddress($destino, "John Doe");
if(!$mail->Send()) {
$data["message"] = "Error: " . $mail->ErrorInfo;
} else {
$data["message"] = "Message sent correctly!";
}
var_dump($data);
}
场景 1(工作):如果收件人地址是我个人的 gmail.id 例如。 pradhansp@gmail.com 邮件送达正常。
array(1) { ["message"]=> string(23) "Message sent correctly!" }
情况 2(不工作):如果收件人地址是客户端域信息@domain.in,那么我也收到了成功消息,但邮件未送达。
这里很重要的一点是客户端域托管在 godaddy 上,但是对于电子邮件,他使用 google 应用程序进行工作。我已经查看了 godaddy 帐户上的 MX 条目,它们正确指向 google.
优先|邮件服务器
1 | ASPMX.L.GOOGLE.COM.
经过多次尝试不同的解决方案后,我终于设法在回答以下列出的问题的帮助下让它工作。感谢@Vicm
can't send email to addresses at my own domain
使用以下步骤将 MX 记录添加到 cPanel:
进入控制面板
- 转到 cPanel 邮件部分
- 搜索MX Entry Maintenance,有时上面没有文字 图标。
- Select 相关域名
- 将电子邮件路由更改为远程邮件交换器。
- 添加所有 google MX 记录,因为它们在您的域中 配置使用适当的优先级值。你可以检查 这里的记录和优先级 https://support.google.com/a/answer/174125
- 仔细检查远程邮件交换器。已选中。
通过此设置,我可以使用 PHPMailer 将电子邮件发送到 godaddy 域中的电子邮件帐户。
Google 关于 MX 记录的应用说明 https://support.google.com/a/answer/54717?hl=en