Breaking

Post Top Ad

Your Ad Spot

miércoles, 18 de julio de 2018

PHPMailer y smtp en alojamiento compartido 1and1

PRIMERA OPCION RECOMENDADA

Uso PHPMailer en mi cuenta de alojamiento compartido 1and1. Recientemente, no pude enviar correos electrónicos más.

Probé la depuración y este es el error que arroja
PHPMailer:

La cadena de idioma no se pudo cargar: connect_host

Después de buscar en Google una solución y probar diferentes servidores smtp, cuentas y puertos smtp, decidí cambiar a sendmail y ¡funcionó como un amuleto! Todo lo que tenía que hacer era 

reemplazar $mail-> isSmtp () con:

$mail-> isSendMail ()

sendMail está ubicado en su ubicación predeterminada en los servidores 1and1: / usr / sbin / sendmail, por lo que no se requiere cambio de configuración.

Conclusión: 1and1 probablemente cerro sus puertos smtp salientes en sus servidores de alojamiento compartido. En consecuencia, si usa PHPMailer, no use más el modo smtp.

 SEGUNDA OPCIÓN

 1AND1 probablemente cerraro sus puertos SMTP salientes en sus servidores de alojamiento compartido. Sin embargo, la siguiente configuración de propiedades puede ser de ayuda:
 
$ mail-> IsSMTP ();
$ mail-> SMTPAuth = true; // habilitar la autenticación SMTP
$ mail-> Host = "auth.smtp.1and1.com.mx";
$ mail-> Port = 25; // establece el puerto SMTP
// ¡no configure $ mail-> SMTPSecure!

TERCERA OPCIÓN 
 
config.ini
[correo electrónico]
Host = smtp.1und1.de
Nombre de usuario = xxxx@xxxxxxxxxxxx.org
Contraseña = xxxxxxxxxxxxxx
SMTPSecure = ssl
Puerto = 465
Correo electrónico = xxxx@xxxxxxxxxxxx.org
---------
función pública send_email ($ tos, $ subject, $ message)
{
$ test = APP_PATH;
require_once (APP_PATH. "/library/PHPMailer/phpmailer.php");
require_once (APP_PATH. "/library/PHPMailer/smtp.php");
$ config = new ConfigIni (APP_PATH.'config / config.ini ');
$ email = $ config-> correo electrónico;
// Crea una nueva instancia de PHPMailer
$ mail = new \ Library \ PHPMailer \ PHPMailer;
// Dile a PHPMailer que use SMTP
$ mail-> isSMTP ();
// Habilitar la depuración de SMTP
// 0 = apagado (para uso de producción)
// 1 = mensajes del cliente
// 2 = mensajes de cliente y servidor
$ mail-> SMTPDebug = 2;
// Establecer el nombre de host del servidor de correo
$ mail-> Host = trim ($ email-> Host);
// utilizar
// $ mail-> Host = gethostbyname ('smtp.gmail.com');
// si su red no admite SMTP sobre IPv6
// Establezca el número de puerto SMTP - 587 para el TLS autenticado, también conocido como envío de SMTP RFC4409
/ *
$ mail-> Puerto = 587;
// Establecer el sistema de encriptación para usar - ssl (obsoleto) o tls
$ mail-> SMTPSecure = 'tls';
* /
$ mail-> Port = intval (trim ($ email-> Port));
// Establecer el sistema de encriptación para usar - ssl (obsoleto) o tls
$ mail-> SMTPSecure = trim ($ email-> SMTPSecure);
// Si se debe usar la autenticación SMTP
$ mail-> SMTPAuth = verdadero;
// Nombre de usuario a usar para autenticación SMTP: use la dirección de correo electrónico completa para gmail
$ mail-> Username = trim ($ email-> nombre de usuario);
// Contraseña para usar para autenticación SMTP
$ mail-> Password = trim ($ email-> Contraseña);
// Establecer de quién se va a enviar el mensaje
$ mail-> setFrom (trim ($ correo electrónico-> correo electrónico));
// Establecer una dirección de respuesta alternativa
$ mail-> addReplyTo (trim ($ correo electrónico-> correo electrónico));
// Establecer a quién se enviará el mensaje
$ tos = explotar (',', $ tos);
foreach ($ tos as $ to) {
$ mail-> addAddress (trim ($ to));
}
// Establecer el asunto
$ mail-> Subject = $ subject;
// Leer un cuerpo de mensaje HTML desde un archivo externo, convertir imágenes referenciadas a incrustadas,
// convierte HTML en un cuerpo alternativo básico de texto plano
//$mail->msgHTML(file_get_contents('contents.html '), __DIR__);
// Reemplazar el cuerpo del texto sin formato con uno creado manualmente
$ correo-> Cuerpo = $ mensaje;
$ mail-> AltBody = strip_tags ($ mensaje);
// Adjuntar un archivo de imagen
//$mail->addAttachment('images/phpmailer_mini.png ');
// enviar el mensaje, verificar si hay errores
$ mail-> SMTPOptions = array (
'ssl' => array (
'verify_peer' => falso,
'verify_peer_name' => falso,
'allow_self_signed' => true
)
);
$ mail_error = ";
if (! $ mail-> send ()) {
$ mail_error = "Error de la aplicación de correo:". $ mail-> ErrorInfo;
} else {
// echo "Mensaje enviado!";
// Sección 2: IMAP
// Descomente estos para guardar su mensaje en la carpeta 'Correo enviado'.
#if (save_mail ($ mail)) {
# echo "Mensaje guardado!";
#}
}
devuelve $ mail_error;
}


ESPERO SUS COMENTARIOS Y SI TIENEN ALGUNA OTRA FORMA DE SOLUCIONAR ESTE PROBLEMA, NO OLVIDEN DEJARLO EN LA PARTE DE ABAJO.
SALUDOS: INSTINTO PROGRAMADOR
Resultado de imagen para phpmailer

No hay comentarios.:

Publicar un comentario

Post Top Ad

Your Ad Spot

Páginas