我有一个网站,并有一个联系表格。我的代码如下:
$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()){
如果用户输入他/她的邮件地址,如'address@gmail.com'或'add@hotmail.com',它会向该地址发送电子邮件。但如果我输入my@mydomain.com,则表示邮件已发送,但邮件没有到达。我正在寻找2天,但找不到合适的解决方案。我也试过这个:
我写了$ mail-> addAddress('mybackupmail @ gmail.com','email'),我将收到的邮件转发到mybackupmail@gmail.com到'mydomain@domain.com'。它也没有发送。我几乎尝试了一切。我的mx记录如下:
我应该更改这些设置吗?或者是其他问题?
我非常感谢任何帮助。
感谢您的关注,
答案 0 :(得分:1)
你是否正在使用与godaddy托管的cpanel?我不知道如果这是“cpanel无处不在”,或只是在godaddy,但进入你的cpanel并寻找一个名为“MX Entry”的东西,然后将其从本地更改为远程。 Local告诉服务器“我们是这个cpanel中这个域的邮件引擎”,而远程告诉它“这个域的电子邮件是在cpanel之外处理的”...你的MX记录告诉我你正在使用工作区电子邮件,因此您需要MX Entry to remote :)
答案 1 :(得分:0)
函数示例使用phpmailer发送电子邮件
你只需更改路径包含
并更改参数
function send_email($to, $subject, $message, $html = TRUE)
{
require_once APPPATH .'libraries/phpmailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 0;
$mail->Debugoutput = 'html';
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'email@gmail.com';
$mail->Password = 'password';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->isHTML($html);
$mail->charSet = 'UTF-8';
$from = 'domain@gmail.com';
$mail->setFrom($from, 'no-reply');
$mail->addAddress($to, 'Information');
$mail->Subject = '=?UTF-8?B?'.base64_encode($subject).'?=';
$mail->Body = $message;
$mail->AltBody = '';
if($mail->send())
{
return TRUE;
}
return FALSE;
}
OR示例:This example shows sending a message using PHP's mail() function