Configuración PHP SwiftMailer prueba Localhost
-
11-10-2019 - |
Pregunta
Me acaba de comenzar el aprendizaje de cómo utilizar SwiftMailer y estoy teniendo problemas para enviar un mensaje de prueba sencilla de mi localhost. A continuación se muestra el código que estoy tratando de usar.
//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('myemail@domain.com' => 'My Name'));
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 25);
//Supposed to allow local domain sending to work from what I read
$transport->setLocalDomain('[127.0.0.1]');
$mailer = Swift_Mailer::newInstance($transport);
//Send the message
$result = $mailer->send($message);
Aquí es parte de mi mensaje de error
Warning: fsockopen() [<a href='function.fsockopen'>function.fsockopen</a>]:php_network_getaddresses: getaddrinfo failed: Name or service not known in /path/Swift/Transport/StreamBuffer.php
Actualizar
Lo tengo que trabajar a través de Gmail. He cambiado la línea de Swift_SmtpTransport a lo siguiente:
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')->setUsername('username')->setPassword('password');
Solución
localhost
es un alias de máquina actual (en este caso, la máquina se ejecuta en PHP). Si realmente desea enviar correo con localhost tienes decirlo:
$transport = Swift_SmtpTransport::newInstance('localhost', 25);
... pero también hay que instalar y configurar su propio servidor de correo. Si usted no sabe lo que se trata todo esto, le sugiero que utilice el servidor SMTP de su proveedor de correo.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow