Question

Sur mon localhost (Linux Mint OS) Swiftmailer fonctionne bien avec le code suivant, mais chaque fois que je le déplacer jusqu'à mon serveur est juste se bloque à la fonction d'envoi et me donne alors une erreur de serveur interne.

J'ai actuellement ma configuration de la messagerie via Google Apps, alors peut-être SMTP ne fonctionnera pas pour cette situation? Si c'est le cas, comment le changement me conseillez-vous de ce SMTP.

En outre, chaque fois que j'envoyer un e-mail comme celui-ci, il montre avec une adresse de celle dans la zone de nom d'utilisateur. Je veux qu'il apparaisse à l'adresse de la fonction « setFrom ».

//Include the swiftmailer class
require_once 'comm/swiftmailer/swift_required.php';

//Create a message
//Pass it as a parameter when you create the message
$message = Swift_Message::newInstance();
$message->setSubject('My Subject');
$message->setFrom(array('noreply@domain.com' => 'No Reply'));
$message->setTo(array('me@domain.com' => 'Me'));
$message->setBody($emailContent, 'text/html');

//Create transport class and email the message
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')->setUsername('useracctname')->setPassword('password');
$mailer = Swift_Mailer::newInstance($transport);
$result = $mailer->send($message);

Merci beaucoup pour toute aide!

Était-ce utile?

La solution

Cela pourrait être un problème de port sur le serveur. Port 465 pourrait être fermé pour éviter le spamming. Il se pourrait aussi que la version du serveur de PHP manque le support SSL.

  

Je me demande bien, pourrait-il que je ne suis pas en utilisant le serveur de messagerie local il wont laisser SMTP?

Si vous adresse gmail aussi explicitement que vous le faites, il est très peu probable que vous utilisez un autre type de transport ou d'un autre serveur.

  

En outre, ce sur l'utilisation de l'un des autres types de transport?

Je pense que SMTP est votre seule option pour le faire fonctionner avec Gmail. Il pourrait cependant être que votre serveur fournit un service de mail() (évidemment avec une adresse d'expéditeur différent de celui GMail bien). Dans ce cas, vous pourrez peut-être utiliser mail de transport de Swiftmailer.

Autres conseils

J'ai eu le même problème: j'ai pu envoyer un courriel gmail en local (après la mise à jour de cette configuration: https://www.google.com/settings/security/lesssecureapps ) mais pas dans la production.

Pour résoudre mon problème, j'ai connecté à mon compte gmail avec ma production ip / de mon serveur de production et répondre à la question de la sécurité gmail.

Une des solutions pour vous connecter à votre compte gmail avec votre ip de production, est de

  1. ouvrir un tunnel SSH (ssh -D 5000 -2NfCT yoursshuser@yourdomain.org)
  2. configurer votre navigateur pour utiliser ce proxy (par exemple Firefox: Préférences> Avancé> Réseau> Paramètres> Configuration manuelle du proxy SOCKS> Hôtes: localhost / Post: 5000 / SOCKS v5)
  3. journal vous compte GMail comme d'habitude

L'erreur outputed par Symfony est:

app.ERROR: Exception occurred while flushing email queue: Failed to authenticate on SMTP server with username "joe.doe" using 1 possible authenticators [] []

bien, voici la solution.

si vous envoyez des messages SMTP, vous devez créer compte de messagerie sur le serveur puis utilisez cette info e-mail à votre code.  le serveur ne sera pas envoyer l'email si vous ne possédez pas de compte e-mail valide pour envoyer l'utiliser lorsque vous utilisez « de ».  cela devrait être un véritable e-mail correcte compte un fake.

la seule raison possible d'envoyer à l'aide de faux compte utilise la fonction mail ().

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top