为什么我在php发送邮件时不接受用户名和密码?

时间:2015-09-29 14:24:51

标签: php sendmail phpmailer

嗨,这是我的问题:

我想发送邮件,这是我的邮件代码:

<?php

require "vendor/autoload.php";

class HelperMail{

  private $oPhpMailer;


    function __construct(){

        $this->oPhpMailer = new PHPMailer();
        $this->oPhpMailer->isSMTP();
        $this->oPhpMailer->SMTPDebug = 2;
        $this->oPhpMailer->Debugoutput = 'html';
        $this->oPhpMailer->SMTPSecure = 'tls';
        $this->oPhpMailer->SMTPAuth = true;

    }
            public function mailFrom($from,$usuario){
              $this->oPhpMailer->setFrom($from,$usuario);             
            }
            public function mailPort($puerto){
              $this->oPhpMailer->Port = $puerto;   
            }
            public function mailUsuario($usuario){
              $this->oPhpMailer->Username = $usuario;   
            }
            public function mailPassword($pass){
              $this->oPhpMailer->Password = $pass;       
            }
            public function mailHost($host){
              $this->oPhpMailer->Host = $host;      
            }
            public function mailSubject($subject){
              $this->oPhpMailer->Subject = $subject;       
            }
            public function mailAddress($address){
              $this->oPhpMailer->addAddress($address);     
            }
            public function mailAltBody(){
              $this->oPhpMailer->AltBody = 'This is a plain-text message body';     
            }

            public function mailHtml(){

            }

            public function setData ($usuarios){ 

              $htmlMail = $this->oPhpMailer->msgHTML(file_get_contents('helpers/mailAvisoSinTareasReg/contenido.html'));
              $htmlMailChange = str_replace("TRABAJO","LAZOS",$htmlMail);
              $this->sendMail();
            }


            public function sendMail(){

            if (!$this->oPhpMailer->send()) {
                        echo "Mailer Error: " . $this->oPhpMailer->ErrorInfo;
                    } else {
                        echo "Message sent!";
                    }

            }
    }
?>

我有这个错误:

enter image description here

我知道用户和通行证都没问题,所以我不知道是什么问题。

我该如何解决这个问题? ,对不起我的英文

3 个答案:

答案 0 :(得分:1)

“Gmail错误:服务器无法接受密码[求助]

如果您收到以下错误,请立即找到一个好的解决方案:

SMTP -> ERROR:Password not accepted from server. Code: 535 Reply: 535-5.7.1 Please log in with your web browser and then try again.

即使Gmail帐户凭据正确无误,Google的服务器仍可能阻止尝试进行身份验证的服务器(很可能是由于新的服务器位置和/或最近的密码更改)。

要解决此问题,请确保您使用浏览器中的相同Gmail帐户登录,然后只需打开以下链接并逐步完成验证过程:

https://accounts.google.com/b/0/DisplayUnlockCaptcha

这将允许访问您的Gmail帐户大约10分钟,以便可以检测到新的身份验证服务器。请务必在此期限内再次尝试进行身份验证。“

SRC:http://www.rocketideas.com/2012/05/gmail-error-password-not-accepted-from-server-solved/

提示 您还应该查看错误后显示的网址(https:/support.google ...)。

答案 1 :(得分:0)

错误 1:密码命令失败:534-5.7.9 需要特定于应用程序的密码 回答: 这种情况主要发生在 SMTP 邮件服务器凭据正确但未提供应用程序特定密码时。

错误 2:SMTP 错误:密码命令失败:535-5.7.8 用户名和密码不被接受 回答: 如果您遇到此错误,那么这主要是因为应用程序特定密码不正确。

转到下面的链接 https://support.google.com/accounts/answer/185833?hl=en

通过选择应用(其他)创建应用密码并复制生成的密码并将此密码粘贴到 gmail 密码的位置。

答案 2 :(得分:0)

在谷歌中允许安全性较低的应用。 https://myaccount.google.com/lesssecureapps