Ошибка аутентификации при отправке почты с PHPmailer с использованием PHP - PullRequest
0 голосов
/ 13 октября 2018

Я получаю следующую ошибку при отправке электронного письма с использованием PHPMailer.

Ошибка:

Ошибка SMTP: не удалось аутентифицироваться.

Я объясняю свой код ниже.

<?php
require_once('/var/www/oditek.in/subhra/phpmailer/class.phpmailer.php');
function SentMail($to,$from,$subject,$msg_body,$reply_to='',$cc='',$files=''){      
    $mail = new PHPMailer();
    $body = $msg_body;
    $mail->IsSMTP();
    $mail->Host       = "smtp.sendgrid.net";
    $mail->SMTPAuth   = true;                    
    $mail->SMTPSecure = 'tls';   
    $mail->Port       = 587;
    $mail->Username   = "tuurbus@gmail.com"; 
    $mail->Password   = "abcd_bs@123";
    $mail->SetFrom($from,'tuurbus');
    if($reply_to!=''){
        $mail->AddReplyTo($reply_to,'tuurbus');
    }
    $mail->Subject    = $subject;
    $mail->MsgHTML($body);
    $address = $to;
    $mail->AddAddress($address);
    if(count($files) > 0 && $files!=''){
        for($i=0;$i<=count($files);$i++){
            if(is_file($files[$i])){
                $mail->AddAttachment($files[$i]);
            }
        }
    }
    if($cc!=''){
        $addrcc = explode(',',$cc);
        foreach ($addrcc as $addresscc) {
            $mail->AddCC(trim($addresscc));
        }
    }
    if($mail->Send()){
        return 1;
    }else{
        return 0;
    }
}
$to="tuurbus@gmail.com";
$from="subhrajyotipradhan@gmail.com";
$subject="Test email";
$msg_body="Hi, This is customize request";
$ret = SentMail($to,$from,$subject,$msg_body);
echo $ret;exit;
?>

Я также включил опцию less secured app в gmail, но все равно появляется та же ошибка.Это реализация типа contact us на веб-сайте.Пользователь отправит запрос по электронной почте администратору (here tuurbus).Пожалуйста, помогите мне решить эту проблему.

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

Попробуйте:

$mail->Host = gethostbyname('smtp.gmail.com'); 
// if your network does not support SMTP over IPv6
0 голосов
/ 13 октября 2018

Загрузите пакет Phpmailer со страницы https://github.com/PHPMailer/PHPMailer/, скопируйте и скопируйте в свой проект, распакуйте zip-папку в свой проект и измените свой код следующим образом, также проверьте свой пароль, идентификатор электронной почты.Его работы на моей стороне.

<?php
include_once('PHPMailerAutoload.php');
function SentMail($to,$from,$subject,$msg_body,$reply_to='',$cc='',$files=''){      
    $mail = new PHPMailer();
    $body = $msg_body;
    $mail->IsSMTP();
    $mail->Host       = "smtp.gmail.com";
    $mail->SMTPAuth   = true;                    
    $mail->SMTPSecure = 'tls';   
    $mail->Port       = 587;
    $mail->Username   = "tuurbus@gmail.com"; 
    $mail->Password   = "abcd_bs@123";
    $mail->SetFrom($from,'tuurbus');
    if($reply_to!=''){
        $mail->AddReplyTo($reply_to,'tuurbus');
    }
    $mail->Subject    = $subject;
    $mail->MsgHTML($body);
    $address = $to;
    $mail->AddAddress($address);
    if(count($files) > 0 && $files!=''){
        for($i=0;$i<=count($files);$i++){
            if(is_file($files[$i])){
                $mail->AddAttachment($files[$i]);
            }
        }
    }
    if($cc!=''){
        $addrcc = explode(',',$cc);
        foreach ($addrcc as $addresscc) {
            $mail->AddCC(trim($addresscc));
        }
    }
    if($mail->Send()){
        return 1;
    }else{
        return 0;
    }
}
$to="tuurbus@gmail.com";
$from="subhrajyotipradhan@gmail.com";
$subject="Test email";
$msg_body="Hi, This is customize request";
$ret = SentMail($to,$from,$subject,$msg_body);
echo $ret;exit;
?>
...