J'essaie d'envoyer un e-mail via le serveur SMTP de GMail à partir d'une page PHP, mais j'obtiens cette erreur:
échec d'authentification [SMTP: le serveur SMTP ne prend pas en charge l'authentification (code: 250, réponse: mx.google.com à votre service, [98.117.99.235] TAILLE 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]
Quelqu'un peut-il aider? Voici mon code:
<?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
?? d'où puis-je obtenir ce fichier?myaccount
nom d'utilisateur.En utilisant Swift mailer , il est assez facile d'envoyer un courrier via les informations d'identification Gmail:
la source
Votre code ne semble pas utiliser TLS (SSL), ce qui est nécessaire pour envoyer du courrier à Google (et utiliser les ports 465 ou 587) .
Vous pouvez le faire en définissant
$host = "ssl://smtp.gmail.com";
Votre code ressemble étrangement à cet exemple qui fait référence à ssl: // dans le schéma de nom d'hôte.
la source
Je ne recommande pas Pear Mail. Il n'a pas été mis à jour depuis 2010. Lisez également les fichiers source; le code source est presque obsolète, écrit en style PHP 4 et de nombreuses erreurs / bugs ont été postés (Google it). J'utilise Swift Mailer.
Swift Mailer s'intègre dans n'importe quelle application Web écrite en PHP 5, offrant une approche orientée objet flexible et élégante pour envoyer des e-mails avec une multitude de fonctionnalités.
Il s'agit d'une source ouverte et gratuite que vous pouvez télécharger Swift Mailer et télécharger sur votre serveur. (La liste des fonctionnalités est copiée à partir du site Web du propriétaire).
L'exemple de travail de Gmail SSL / SMTP et Swift Mailer est ici ...
J'espère que ça aide. Bon codage ... :)
la source
la source
SwiftMailer peut envoyer des e-mails à l'aide de serveurs externes.
voici un exemple qui montre comment utiliser un serveur Gmail:
la source
Le code tel qu'indiqué dans la question nécessite deux modifications
Le port 465 est requis pour une connexion SSL.
la source
Envoyer du courrier à l'aide de la bibliothèque phpMailer via Gmail Veuillez télécharger les fichiers de la bibliothèque depuis Github
la source
J'ai aussi eu ce problème. J'ai défini les paramètres corrects et activé des applications moins sécurisées, mais cela n'a toujours pas fonctionné. Enfin, j'ai activé ce https://accounts.google.com/UnlockCaptcha , et cela a fonctionné pour moi. J'espère que ça aidera quelqu'un.
la source
Gmail nécessite le port 465, et c'est aussi le code de phpmailer :)
la source
Pour installer Mail.php de PEAR dans Ubuntu, exécutez l'ensemble de commandes suivant:
la source
J'ai une solution pour les comptes GSuite qui n'a pas le suffixe "@ gmail.com". Je pense également que cela fonctionnera pour les comptes GSuite avec @ gmail.com, mais je ne l'ai pas essayé. Vous devez d'abord avoir les privilèges de modifier l'option "allos¿w less secure app" pour votre compte GSuite. Si vous avez les privilèges (vous pouvez vérifier dans les paramètres du compte-> sécurité), vous devez désactiver "l'authentification à deux étapes" aller à la fin de la page et définir "oui" pour autoriser les applications moins sécurisées. C'est tout. Si vous n'avez pas les privilèges pour modifier ces options, la solution pour ce fil ne fonctionnera pas. Consultez https://support.google.com/a/answer/6260879?hl=en pour apporter des modifications à l'option "autoriser moins ...".
la source
J'ai essayé la suggestion proposée par @shasi kanth, mais cela n'a pas fonctionné. J'ai lu la documentation et peu de modifications ont été apportées. J'ai donc réussi à envoyer du courrier via Gmail à l'aide de ce code, où le fournisseur / autoload.php est obtenu par le compositeur avec le compositeur requiert "swiftmailer / swiftmailer: ^ 6.0":
la source
Ensemble
Vérifiez également si le port 25 fonctionne.
la source