serverdns escribió:Me permito meter mi cuchara, para dar mi aporte, en mi experiencia con la clase PHPMailer el servidor SMTP (host) y el puerto siempre se especifican por separado, que por configuración predeterminada son los siguientes:
$mail->Host = localhost;
$mail->Port = 25;
En realidad yo lo he probado de ambas formas y funciona en ambas, así que no perdemos nada con probar (@ignasigc, revisa el código más abajo).
serverdns escribió:Otro detalle es que en los codigos aqui posteados, se definen unas constantes que no son utilizadas, por ejemplo para el usuario, el pasword, el servidor, y el modo depuracion se definen MAILER_USER, MAILER_PASS, MAILER_HOST, MAILER_SMTP_DEBUG_LEVEL respectivamente, pero al procesar el envio se utilizan MAILER_SMTP_USER, MAILER_SMTP_PASS, MAILER_SMTP_HOST, MAILER_DEBUG_LEVEL.
Debiste haber "metido tu cuchara" antes, jajajaja, así que gracias por la corrección.
@ignasigc, reemplaza la función send_mail (todo el código de la función) por esto:
function send_mail( $params ) {
$return = '';
ob_start();
require_once "phpmailer/PHPMailerAutoload.php";
$mail = new PHPMailer();
$mail->Mailer = MAILER_TRANSPORT;
$mail->SMTPDebug = MAILER_DEBUG_LEVEL;
$mail->CharSet = MAILER_CHARSET;
[COLOR="#FF0000"]$mail->Host = MAILER_SMTP_HOST; [/COLOR]
[COLOR="#FF0000"]$mail->Port = MAILER_SMTP_PORT;[/COLOR]
$mail->SMTPAuth = MAILER_SMTP_AUTH_ENABLED;
[COLOR="#FF0000"] $mail->Username = MAILER_USER;
$mail->Password = MAILER_PASS; [/COLOR]
$mail->SMTPSecure = MAILER_SMTP_SECURITY;
$mail->From = $params['from'];
$mail->FromName = $params['fromName'];
$mail->AddReplyTo( $params['from'], $params['fromName'] );
$mail->AddAddress( $params['to'] );
$mail->WordWrap = 70;
$mail->Subject = $params['subject'];
if( isset( $params['html'] ) && $params['html'] === true )
$mail->IsHTML( true );
$mail->Body = $params['body'];
if( ! $mail->Send() ) {
$return = trim( $mail->ErrorInfo );
$return .= "\nDebug PHPMailer:\n\n" . ob_get_contents();
}
ob_end_clean();
return $return;
}
Modifica el archivo phpmailer-conf.php:
<?php
define( 'MAILER_USER', '[correo eliminado]' );
define( 'MAILER_PASS', 'XXXXXXX' );
[COLOR="#FF0000"]define( 'MAILER_SMTP_HOST', 'euro1.ahwebhost.com' );
define( 'MAILER_SMTP_PORT', 465 );[/COLOR]
define( 'MAILER_TRANSPORT', 'smtp' );
define( 'MAILER_SMTP_SECURITY', 'ssl' );
define( 'MAILER_SMTP_AUTH_ENABLED', true );
define( 'MAILER_SMTP_DEBUG_LEVEL', 0 );
define( 'MAILER_CHARSET', 'utf-8' );
?>
Lo que está en rojo son las modificaciones que he hecho (gracias a @serverdns que notó los errores).