Php邮件谷歌smtp工作localhost不在现场工作

时间:2013-06-17 09:36:35

标签: php smtp gmail phpmailer

我正在尝试在注册后向注册用户发送邮件。

为此,我使用phpmailer库。

我的代码如下:

function smtpmailer($to, $from, $from_name, $subject, $body) {
    global $error;
    $username = "xyz@demo.net";
    $password = "1234567";
    $mail = new PHPMailer();  // create a new object
    $mail->IsSMTP(); // enable SMTP
    $mail->SMTPDebug = 1;  // debugging: 1 = errors and messages, 2 = messages only
    $mail->SMTPAuth = true;  // authentication enabled
    $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
    $mail->Host = 'smtp.gmail.com';
    $mail->Port = 465;
    $mail->Username = $username;
    $mail->Password = $password;
    $mail->Priority = 1; // Highest priority - Email priority (1 = High, 3 = Normal, 5 = low)
    $mail->CharSet = 'UTF-8';
    $mail->Encoding = '8bit';
    $mail->ContentType = 'text/html; charset=utf-8\r\n';
    $mail->SetFrom($from, $from_name);
    $mail->Subject = $subject;
    $mail->Body = $body;
    $mail->AddAddress($to);
    $mail->IsHTML(true);
    $mail->WordWrap    = 900; 
    if (!$mail->Send()) {
        $error = 'Mail error: ' . $mail->ErrorInfo;
        return false;
    } else {
        $error = 'Message sent!';
        $mail->SmtpClose();
        return true;

    }

此代码在localhost上运行正常,但我将其上传到mysite,然后显示以下错误: SMTP -> ERROR: Failed to connect to server: Connection timed out (110)SMTP Connect() failed.

我的网站托管在文件夹中,例如(myhost.in/mysite)。

请帮我解决问题并解决问题

提前致谢...

3 个答案:

答案 0 :(得分:3)

我遇到了一些主机提供商不支持外部主机邮件的问题。您必须询问您的托管支持天气他们是否允许外部主机。

我使用了我的托管服务提供商的imap设置,现在它已经解决了 希望这会帮助别人!!

答案 1 :(得分:3)

转到链接 - https://accounts.google.com/b/0/DisplayUnlockCaptcha 然后单击允许访问按钮 原因:出于安全原因,谷歌不允许任何程序在用户的A / C中自动登录。

答案 2 :(得分:0)

https://support.google.com/mail/answer/78754

您可能需要为不太安全的应用启用" Access"设置 https://www.google.com/settings/security/lesssecureapps 帮帮我