Estou tentando enviar um email via servidor SMTP do GMail a partir de uma página PHP, mas recebo este erro:
falha na autenticação [SMTP: o servidor SMTP não suporta autenticação (código: 250, resposta: mx.google.com ao seu serviço, [98.117.99.235] TAMANHO 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]
Alguém pode ajudar? Aqui está o meu código:
<?php
require_once "Mail.php";
$from = "Sandra Sender <[email protected]>";
$to = "Ramona Recipient <[email protected]>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
$host = "smtp.gmail.com";
$port = "587";
$username = "[email protected]";
$password = "testtest";
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
?>
Mail.php
?? de onde obtenho esse arquivo?myaccount
nome de usuário.Usando o Swift mailer , é muito fácil enviar um email por meio de credenciais do Gmail:
fonte
Seu código não parece estar usando TLS (SSL), necessário para entregar mensagens ao Google (e usando as portas 465 ou 587) .
Você pode fazer isso configurando
$host = "ssl://smtp.gmail.com";
Seu código parece suspeito com este exemplo, que se refere a ssl: // no esquema de nome de host.
fonte
Eu não recomendo Pear Mail. Não foi atualizado desde 2010. Leia também os arquivos de origem; o código fonte está quase desatualizado, escrito no estilo PHP 4 e muitos erros / bugs foram publicados (no Google). Estou usando o Swift Mailer.
O Swift Mailer se integra a qualquer aplicativo Web escrito em PHP 5, oferecendo uma abordagem orientada a objetos flexível e elegante para enviar emails com uma infinidade de recursos.
É um código aberto e gratuito. Você pode baixar o Swift Mailer e enviar para o seu servidor. (A lista de recursos é copiada do site do proprietário).
O exemplo de trabalho do Gmail SSL / SMTP e Swift Mailer está aqui ...
Eu espero que isso ajude. Feliz codificação ... :)
fonte
fonte
O SwiftMailer pode enviar email usando servidores externos.
Aqui está um exemplo que mostra como usar um servidor do Gmail:
fonte
O código listado na pergunta precisa de duas alterações
A porta 465 é necessária para uma conexão SSL.
fonte
Enviar email usando a biblioteca phpMailer através do Gmail Faça o download de arquivos de biblioteca do Github
fonte
Eu também tive esse problema. Defino as configurações corretas e ativei aplicativos menos seguros, mas ainda não funcionou. Por fim, ativei este https://accounts.google.com/UnlockCaptcha e funcionou para mim. Espero que isso ajude alguém.
fonte
O Gmail requer a porta 465, e também é o código do phpmailer :)
fonte
Para instalar o Mail.php do PEAR no Ubuntu, execute o seguinte conjunto de comandos:
fonte
Eu tenho uma solução para contas GSuite que não possui o sufixo "@ gmail.com". Também acho que funcionará para contas do GSuite com o @ gmail.com, mas ainda não o tentei. Primeiro, você deve ter o privilégio de alterar a opção "allos¿w app menos seguro" para sua conta GSuite. Se você possui os privilégios (pode verificar as configurações da conta-> segurança), é necessário desativar a "autenticação de fator de duas etapas" no final da página e definir como "sim" para permitir aplicativos menos seguros. Isso é tudo. Se você não tiver privilégios para alterar essas opções, a solução para este segmento não funcionará. Marque https://support.google.com/a/answer/6260879?hl=pt-BR para fazer alterações na opção "permitir menos ...".
fonte
Tentei a sugestão oferecida por @shasi kanth, mas não deu certo. Eu li a documentação e há poucas alterações feitas. Então, eu consegui enviar e-mails via Gmail usando este código, onde vendor / autoload.php é obtido pelo compositor com o compositor requer "swiftmailer / swiftmailer: ^ 6.0":
fonte
Conjunto
Além disso, veja se a porta 25 funciona.
fonte