Мне нужна помощь в отправке электронной почты на PHP. На самом деле пытаюсь отправить письмо с помощью PHP Mailer. Каким-то образом для некоторых почтовых идентификаторов можно отправить электронное письмо, но для некоторых других почтовых идентификаторов невозможно отправить. Я получил электронное письмо с сообщением «Попытка входа запрещена». Может кто-нибудь помочь мне узнать, где мне нужно изменить настройки в моей учетной записи Gmail, чтобы мой PHP-код отправлял электронные письма?
require("phpmailer/class.PHPMailer.php");
require("phpmailer/class.smtp.php");
$f_pointer=fopen("test.csv","r"); // file pointer
$emails = array();
while (($data = fgetcsv($f_pointer, 1000, ",")) !== FALSE) {
$num = count($data);
$emails[] = $data[1];
}
foreach($emails as $key=>$val){
$mail = new PHPMailer();
$mail->IsSMTP(); // set mailer to use SMTP
$mail->Host = "tls://smtp.gmail.com:587"; // specify main and backup server
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "abc"; // SMTP username
$mail->Password = "some password"; // SMTP password
$mail->From = "[email protected]";
$mail->FromName = "abc";
$mail->AddAddress($val);
$mail->Subject = "Here is the subject";
$mail->Body = "This is the HTML message body <b>in bold!</b>";
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";
if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
echo "Message has been sent";
}
Это работает нормально для некоторых примеров «[email protected]», но когда я использую другое имя пользователя, пароль и адрес электронной почты, скажем «[email protected]», я получаю сообщение электронной почты, в котором говорится «попытка входа не удалась». Помощь приветствуется.
Это было решено путем включения разрешения для менее безопасных приложений в ссылке https://www.google.com/settings/security/lesssecureapps
Других решений пока нет …