setfrom example ejemplo php linux email phpmailer

example - phpmailer install



La conexión SMTP del servidor GoDaddy de PHPMailer se negó (18)

Acabo de tener este problema, contacté a GoDaddy y cambiaron mi MX de Local a Remote y resolvió el problema al instante. Solo un aviso para cualquiera que todavía esté experimentando este problema.

El otro día tuve algunos problemas con mi sitio alojado en GoDaddy. Llamé a su soporte técnico, y la persona con la que hablé sugirió que mis problemas estaban relacionados con el hecho de que estaba en una caja de Windows y sería mejor atendido en una caja de Linux. Al no tener opinión sobre esto, acepté y me cambiaron.

A raíz de esa transición, mi funcionalidad PHPMailer me ha abandonado. He tenido esto funcionando durante meses, así que sé que mi configuración es precisa. He confirmado con GoDaddy que la cuenta que estoy tratando de enviar no ha cambiado desde su perspectiva. No se han realizado cambios en el lado del usuario (como una nueva contraseña). En pocas palabras, lo único que es diferente es que mi sitio ahora está alojado en un servidor Linux. Eso es.

Así que supongo que las dificultades de mi PHPMailer deben estar relacionadas con eso, ya que es demasiada coincidencia que un script que ha funcionado durante meses falla en el momento exacto en que se produce la transición del servidor. ¿Pero por qué? Pasé una hora con su soporte técnico, y no ven nada malo con la configuración del servidor. Verificamos mi configuración (solo por diversión). Todo se ve bien, pero cuando envío un correo electrónico, aparece este error:

SMTP -> ERROR: Failed to connect to server: Connection refused (111)SMTP Connect() failed.

Hay muchas publicaciones acerca de este tipo de error, y casi todas se relacionan con personas que se configuraron por primera vez que tuvieron configuraciones erróneas o configuraciones omitidas. Sin embargo, SÉ que mi configuración es completa y precisa, ya que he estado utilizando con éxito durante meses. Los publicaré aquí solo para completar:

$mail = new PHPMailer(); $mail->IsSMTP(); //telling the class to use SMTP $mail->isHTML(true); $mail->Host = "smtpout.secureserver.net"; //also tried "relay-hosting.secureserver.net" $mail->WordWrap = 50; $mail->SMTPAuth = true; $mail->SMTPSecure = "ssl"; $mail->Port = 465; $mail->Username = "[email protected]"; $mail->Password = *******; $mail->Subject = "Test Email"; $mail->SMTPDebug = 1;

¿Alguien tiene alguna idea de por qué esto podría estar pasando? ¿Hay alguna configuración de servidor de la que las personas de soporte técnico no estén al tanto, como quizás en mi archivo php.ini? El tipo con el que trabajé hizo todo lo posible por ayudarme, pero es posible que no se dé cuenta de algo.

Cualquier ayuda es apreciada. Avíseme si hay otra información que pueda proporcionar. ¡Gracias!

EDITAR: También debería mencionar algunos de los otros intentos que hice. Obtengo el mismo resultado sin importar nada.

1) TLS con el puerto 587 2) Sin SSL usando los puertos 25, 80 y 3535. 2) Mi propia dirección de Gmail modificando el servidor, nombre de usuario, contraseña, etc.


Actualización para enero de 2015: solo tuve que resolver este problema exacto. Necesita tener GoDaddy Linux Hosting con cuentas de correo electrónico de cPanel:

  1. En la sección de cuentas de correo electrónico, al lado de cada dirección de correo electrónico en un menú desplegable, haga clic en la opción para ''configurar el cliente de correo electrónico''.
  2. En la página siguiente, desplácese hacia abajo a ''Configuración manual''. Aquí verá que GoDaddy ahora crea servidores entrantes / salientes a medida para cada dirección de correo electrónico. Entonces use el servidor saliente, SSL, auth: verdadero, puerto: 465, correo electrónico / contraseña.

Espero que ayude.


Bueno, tengo esto resuelto, pero no en el buen sentido. Después de agotar todo lo que pude pensar, simplemente levanté las manos y le dije a GoDaddy que me conmutara al servidor de Windows. Tan pronto como lo hicieron, el problema desapareció. Como realmente no me importa en qué tipo de servidor estoy, este resultado es satisfactorio, pero apenas satisfactorio.

Por lo tanto, mi consejo para cualquier cliente de GoDaddy que crea que ha configurado PHPMailer correctamente pero no puede hacerlo funcionar es para averiguar si está en un servidor Linux. Me parece que GoDaddy tiene sus servidores Linux configurados para bloquear este tipo de transacción de correo. No puedo decir eso definitivamente, ya que solo lo creo porque no pude hacerlo funcionar. Pero puedo decir claramente que mi configuración de PHPMailer fue precisa, al menos con Windows.

Tal vez esto ayudará a salvar a alguien un poco de tiempo y frustración. Si alguien tiene una idea mejor, por favor publíquela.


Cambia esto:

$mail->Host = ''smtpout.secureserver.net:465''; $mail->SMTPSecure = "ssl";

A esto:

$mail->Host = ''smtpout.secureserver.net:25'';

¡Y funcionó para mí!


Como parece que este es un problema continuo, permítanme agregar mi propia experiencia.

Nuestro sitio web utiliza PHPMailer y el sitio está alojado en un servidor GoDaddy Linux. La configuración que parecía correcta (de acuerdo con todo lo que pude encontrar en SO y en el sitio de asistencia de goDaddy) fue la siguiente:

SMTP_SERVER: smtpout.secureserver.net (or alternatively relay-hosting.secureserver.net) SMTP_PORT: 465 //or 3535 or 80 or 25 SMTP_AUTH: true //always SMTP_Secure: ''ssl'' //only if using port 465

Después de pasar más de 6 horas probando cada variación de puertos (25, 3535, 4655), servidores relay-hosting.secureserver.net, smtpout.secureserver.net: [puerto], etc.), nombres de usuario, contraseñas, etc. Llamé a GoDaddy. Otros 40 minutos después, se reveló que:

1) las cuentas de correo electrónico del "espacio de trabajo" están siendo retiradas. Eso es importante porque si tiene una cuenta de correo electrónico con goDaddy hoy, es probable que tenga una cuenta en el área de trabajo. Esto es, de acuerdo con el representante de soporte técnico, alojado por separado de su cuenta de Linux.

2) goDaddy se está moviendo hacia las cuentas de correo electrónico de cPanel. ¡Viva! ¿Tabla de tiempo? "... ¡en los próximos 2 o 3 años!"

3) Moví nuestras cuentas de Workspace a cuentas de cPanel mientras estaba en el teléfono con el representante. Realmente fácil de hacer

4) Después de cambiar sus cuentas de correo electrónico (incluida la edición de sus registros MX) a un correo electrónico de cPanel (frente a un correo electrónico de "espacio de trabajo"), las configuraciones adecuadas para un correo electrónico en formato web utilizando PHPMailer son:

SMTP_SERVER: localhost //(and I mean literally: "localhost"- in place of smtp.secureserver.net and relay-hosting.secureserver.net, etc.)

... y todo lo demás (como arriba) lo mismo ...

¡El formulario web que creé con PHPMailer funcionó perfectamente después de este cambio!

¡Use su nombre de usuario y contraseña de la cuenta de correo electrónico de cPanel en la configuración de PHPMailer y sus correos electrónicos web funcionarán perfectamente!

Una ventaja adicional es que se puede acceder al correo web (¿alguien más usa esto?) En [yourdoman] / webmail. ¡No más urls crípticas para recordar! ¡Y las cuentas pueden ser IMAP o POP!

Es cierto que esto significa que debe usar las cuentas de correo electrónico de cPanel de goDaddy, pero obtener el formulario web sin fallas con PHPMailer fue la verdadera recompensa.


Conexión SMTP del servidor GoDaddy rechazada.

Bigrock $ mail-> Port = 587; // SMTP ser * vers

GoDaddy $ mail-> Port = 25; // SMTP ser * vers


De acuerdo con Godaddy, reemplace

$mail->Host = "smtpout.secureserver.net"; //also tried "relay-hosting.secureserver.net"

con

$mail->Host = "smtp.secureserver.net"; //also tried "relay-hosting.secureserver.net"

Funcionó para mí


Después de luchar con este tema durante un par de días y ponerlo a funcionar, pensé que actualizaría este hilo para 2017. Espero poder ahorrarle a alguien unas pocas horas desperdiciadas. Estoy alojado en Godaddy con cpanel. Fue la configuración de SMTPAutoTLS que finalmente encontré e intenté que esa era la pieza que faltaba. El error que estaba recibiendo es el siguiente:

Advertencia de PHP: stream_socket_enable_crypto (): el certificado de pares CN = *.prod.iad2.secureserver.net'' did not match expected CN= localhost'' en /home/username/public_html/classes/PHPMailer/class.smtp.php en la línea 369

Error de la aplicación de correo: Error en la conexión SMTP (). https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

Los siguientes son los ajustes de PHPMailer que me funcionaron.

$mail->isSMTP(); $mail->Host = ''localhost''; $mail->Port = 25; $mail->SMTPSecure = false; $mail->SMTPAutoTLS = false; $mail->SMTPAuth = false;


Después de mucha frustración, esto también funcionó para mí.

include("includes/class.phpmailer.php"); date_default_timezone_set(''UTC''); define(''SMTP_HOST'',''relay-hosting.secureserver.net''); define(''SMTP_PORT'',25);** define(''SMTP_USERNAME'',''[email protected]''); define(''SMTP_PASSWORD'',''me123''); define(''SMTP_AUTH'',false); $email = ''[email protected]''; $firstName = ''Aravind''; $mail = new PHPMailerR(); $mail->IsSMTP(); $mail->SMTPDebug = 1; $mail->SMTPAuth = SMTP_AUTH; $mail->Host = SMTP_HOST; $mail->Port = 25; $mail->Username = SMTP_USERNAME; $mail->Password = SMTP_PASSWORD; $mail->SetFrom(SMTP_USERNAME,''AravindNC.IN''); $mail->AddReplyTo(SMTP_USERNAME,"AravindNC.IN"); $mail->Subject = "Welcome to AravindNC.IN"; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; $mail->MsgHTML(''This is a test.''); $mail->AddAddress($email, ''Aravind NC''); $mail->Send(); ?>


Estoy en GoDaddy en Linux como @urfbird0713. En mi intento número 32, lo siguiente funcionó también para mí:

$mail2->Host = localhost; //$mail2->SMTPAuth = false; //$mail2->Username = ''[email protected]''; //$mail2->Password = ''*******''; //$mail2->SMTPSecure = ''tls''; //$mail2->Port = 465;

Anteriormente estaba intentando con el nombre de usuario, el inicio de sesión, el puerto, etc. Cuando comencé a comentar todo eso, y solo fui con el servidor local, funcionó.


Godaddy es una pesadilla.

Si está utilizando una cuenta de correo electrónico de trabajo más antigua y no está familiarizado con cpanel intente esto

require ''/home/content/94/8357694/html/SHTECH/server/PHPMailer.php''; use PHPMailer/PHPMailer/PHPMailer; function sendmail($to,$subject,$message,$name) { define(''SMTP_HOST'',''relay-hosting.secureserver.net''); define(''SMTP_PORT'',25); define(''SMTP_AUTH'',true); $mail = new PHPMailer(); $mail->IsSMTP(); $mail -> SMTPDebug = 1; $mail->Host = "smtpout.secureserver.net"; $mail->SMTPAuth = SMTP_AUTH; $mail->Port = 80; $mail->Username = "[email protected]"; $mail->Password = "allen1"; //$mail->SMTPSecure = ''ssl''; $mail->SetFrom(''[email protected]'', ''Cagney''); $mail->AddReplyTo("[email protected]","Cagney"); $mail->Subject = $subject; $body = $message; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; $mail->MsgHTML($body); $address = $to; $mail->AddAddress($address, $name); if(!$mail->Send()) { return 0; } else { return 1; } }


He estado experimentando este problema por muchas semanas. Finalmente, lo resolvió. En primer lugar, debería indicar las causas del problema (tal como lo experimenté). GoDaddy permite que solo el puerto 25 , 465 , 80 salga. Por lo tanto, no puede llegar a ningún servidor SMTP que no esté utilizando ninguno de esos 3 puertos. Pero si está utilizando SMTP desde GMAIL por ejemplo, o cualquier otro servidor de reproducción (especialmente desde Bell Canada, en el puerto 465 ), cualquier solicitud de retransmisión de GoDaddy será bloqueada, por lo tanto, verá la Connection Refused (111) . Sí, son competidores en servicios de hosting ... así que saque su propia conclusión sobre cuándo se resolverá este problema entre ellos. Peor aún, cuando envía un correo electrónico de relay-hosting.secureserver.net proporcionado por GoDaddy, se enfrenta a un inconveniente importante de largas colas que podría tomar un par de minutos para recibir el correo electrónico. Peor aún, las personas con la cuenta de correo electrónico de Bell Canada (o los afiliados de Bell) no verán el correo electrónico de este servidor de retransmisión: ¡el correo electrónico ni siquiera llega a su casilla de correo no deseado! Como el correo electrónico está completamente bloqueado por Bell (su excusa = demasiados spams de GoDaddy).

Entonces, recientemente hice esto y funcionó bien para mí. Si tienes un servicio de alojamiento con GoDaddy, entonces registra una cuenta de correo electrónico. Luego, usando esa cuenta de correo electrónico, por ejemplo [email protected] , haga esto con PHPMail:

$mail = new PHPMailer(); $mail->IsSMTP(); $mail->Host = "smtpout.secureserver.net"; $mail->Username = "[email protected]"; /*Substitute with your real email*/ $mail->Password = "myverylongpassword"; /*Substitute with your real password*/ $mail->SMTPAuth = true; $mail->Port = 80;

Luego haga sus cosas habituales de PHPMailing ... Esto funciona muy bien para mí. Espero que haga lo mismo por ti.


Si usa cPanel y WPForms en WordPress

Lo que me ayudó es crear una dirección de correo electrónico desde cPanel y utilizar su configuración desde la sección Configuración manual con SSL o sin SSL


Tengo el mismo problema, pero probé esto

$mail->SMTPAuth = false;

y HOSTNAME: relay-hosting.secureserver.net

Y Bingoooooo funciona

por favor haz solo una vez esta configuración en SMTP


Utilizando algunos de los consejos anteriores, pude poner en marcha un sitio de arranque llave en mano con correo electrónico en alojamiento compartido en GoDaddy.

Hice una llamada AJAX a email.php que contenía:

<?php require ''PHPMailerAutoload.php''; if ($_POST) { $name = $_POST[''contactName'']; $email = $_POST[''contactEmail'']; $message = $_POST[''contactMessage'']; /* Don''t touch */ $mail = new PHPMailer(); $mail->isSMTP(); $mail->Host = "relay-hosting.secureserver.net"; $mail->SMTPAuth = false; $mail->setFrom($email, $name); /* end */ /* Configure the address the email will be sent to */ $mail->addAddress(''[email protected]'', ''Adam InTae Gerard''); $mail->Subject = ''Re: StackChampion Inquest''; /* This is forwarded through a GoDaddy forwarding account */ $mail->Body = $message; if (!$mail->send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; } } ?>

Arreglé una demostración funcional en GitHub disponible aquí:

https://github.com/Thoughtscript/wp_postlib_godaddy_php_emailer

Es de uso gratuito y de código abierto, pero el código relevante se encuentra en la lista anterior. Aparentemente hay muchos problemas con sus servidores SMTP. Descubrí que puede eludir eso al usar los servidores de retransmisión que se ofrecen que no requieren autenticación, aunque todavía pueden estar asociados con uno de sus correos electrónicos registrados.

Espero que ayude a alguien! ¡Aclamaciones!


estas serán sus configuraciones SMTP para GoDaddy:

require("PHPMailer-master/PHPMailerAutoload.php"); $mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPDebug = 2; $mail->From = "[email protected]"; $mail->FromName = "name"; $mail->Host = "localhost"; $mail->SMTPAuth = false; $mail->SMTPSecure = false; $mail->SMTPAutoTLS = false;


si en su hosting tiene un servidor de correo electrónico propio, su servidor de correo electrónico utiliza los siguientes puertos 25,465,587. Configuraciones para GoDaddy:

$mail->isSMTP(); $mail->Host = localhost; $mail->SMTPAuth = true; $mail->Username = ''[email protected]''; $mail->Password = ''password''; //$mail->SMTPSecure = ''tls''; //$mail->Port = 587;

En los otros servidores, necesitas crear un buzón con tu dominio:

$mail->isSMTP(); $mail->Host = localhost; $mail->SMTPAuth = true; $mail->Username = ''[email protected]''; $mail->Password = ''password''; //$mail->SMTPSecure = ''tls''; //$mail->Port = 587;


GoDaddy / Linux (cPanel) / PHPMailer

require_once("../include/PHPMailer-master/PHPMailerAutoload.php"); $mail = new PHPMailer(); $mail->isSMTP(); $mail->Host = "a2plcpnXXXXX.prod.iad2.secureserver.net"; $mail->SMTPDebug = 2; $mail->SMTPAuth = true; $mail->Username = "your username"; $mail->Password = "your password"; $mail->SMTPSecure = "tls"; $mail->Port = 587;

Siéntase libre de usar el correo electrónico / nombre que desee para los valores $ mail- > From y $ mail-> FromName . Espero que esto ayude.