Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/09/2014, 16:27
Avatar de Middrel
Middrel
 
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años, 9 meses
Puntos: 27
Enviar correo usando servidores de Google

Hola, buenas tardes,

Tengo una duda, no puedo hacer funcionar un código para enviar correos desde una forma de contacto. Mi cliente tiene un plan de correo de Google Apps y el proveedor de hosting de mi cliente modifico los registros MX para usar los servidores de Google.

Bueno, he buscado como hacer funcionar el script de envío de correo, pero no logro hacerlo. Estoy intentando con lo siguiente:

1. Formulario de envio (disculpen esa asquerosidad de código... lo hicieron en un programa que se llama Muse :/ )

Código HTML:
Ver original
  1. <form class="form-grp clearfix grpelem" id="widgetu3625" method="post" enctype="multipart/form-data" action="scripts/config-smtp.php"><!-- none box -->
  2.         <div class="fld-grp clearfix grpelem" id="widgetu3632" data-required="true"><!-- none box -->
  3.          <label class="fld-label actAsDiv clearfix grpelem" id="u3633-4" for="widgetu3632_input"><!-- content -->
  4.           <span class="actAsPara">Nombre:</span>
  5.          </label>
  6.          <span class="fld-input NoWrap actAsDiv clearfix grpelem" id="u3635-4"><!-- content --><input class="wrapped-input" type="text" spellcheck="false" id="widgetu3632_input" name="custom_U3632" tabindex="1"/><label class="wrapped-input fld-prompt" id="widgetu3632_prompt" for="widgetu3632_input"><span class="actAsPara">Introducir nombre</span></label></span>
  7.         </div>
  8.         <div class="fld-grp clearfix grpelem" id="widgetu3645" data-required="true" data-type="email"><!-- none box -->
  9.          <label class="fld-label actAsDiv clearfix grpelem" id="u3647-4" for="widgetu3645_input"><!-- content -->
  10.           <span class="actAsPara">Correo electrónico:</span>
  11.          </label>
  12.          <span class="fld-input NoWrap actAsDiv clearfix grpelem" id="u3648-4"><!-- content --><input class="wrapped-input" type="text" spellcheck="false" id="widgetu3645_input" name="Email" tabindex="2"/><label class="wrapped-input fld-prompt" id="widgetu3645_prompt" for="widgetu3645_input"><span class="actAsPara">Introducir correo electr.</span></label></span>
  13.         </div>
  14.         <div class="clearfix grpelem" id="u3638-4"><!-- content -->
  15.          <p>Enviando formulario...</p>
  16.         </div>
  17.         <div class="clearfix grpelem" id="u3637-4"><!-- content -->
  18.          <p>El servidor ha detectado un error.</p>
  19.         </div>
  20.         <div class="clearfix grpelem" id="u3650-4"><!-- content -->
  21.          <p>Formulario recibido.</p>
  22.         </div>
  23.         <input class="submit-btn NoWrap grpelem" id="u3631-17" type="submit" value="" tabindex="4"/><!-- state-based BG images -->
  24.         <div class="fld-grp clearfix grpelem" id="widgetu3626" data-required="false"><!-- none box -->
  25.          <label class="fld-label actAsDiv clearfix grpelem" id="u3629-4" for="widgetu3626_input"><!-- content -->
  26.           <span class="actAsPara">Mensaje:</span>
  27.          </label>
  28.          <span class="fld-textarea actAsDiv clearfix grpelem" id="u3628-4"><!-- content --><textarea class="wrapped-input" id="widgetu3626_input" name="custom_U3626" tabindex="3"></textarea><label class="wrapped-input fld-prompt" id="widgetu3626_prompt" for="widgetu3626_input"><span class="actAsPara">Escriba su mensaje</span></label></span>
  29.         </div>
  30.        </form>

2. Script PHP

Código PHP:

require('class.phpmailer.php');
require(
'class.smtp.php');

$nombre $_POST['custom_U3632'];
$email $_POST['Email'];
$mensaje $_POST['custom_U3626'];
 
$mail = new PHPMailer();

$mail->From $email;
$mail->FromName $nombre;
$mail->AddAddress("");

$mail->WordWrap 50;
$mail->IsHTML(true);
$mail->Subject "Esto es un correo de prueba";
$mail->MsgHTML(file_get_contents('correomaquetado.html'), dirname(ruta_al_archivo));
$mail->AltBody 'This is a plain-text message body';

$mail->IsSMTP();
$mail->SMTPDebug  0;
$mail->Host       'ssl://smtp.gmail.com:465';
$mail->Port       587;
$mail->SMTPSecure 'tls';
$mail->Mailer "smtp";
$mail->SMTPAuth   true;
$mail->Username   "[email protected]";
$mail->Password   "xxxxxxxxxxxx";


if(!
$mail->Send()) {
  echo 
"Error: " $mail->ErrorInfo;
} else {
  echo 
"Enviado!";

Sin embargo, cuando le doy enviar me marca "error" y obviamente no envía nada. No sé si tengo algo mal en la configuración, pero he estado checando varias guías y sólo difieren por muy poco u omiten algún paso.

¿Saben si debo hacer algo más? ¿Alguna configuración que me esté fallando aún?

De antemano, agradezco por su tiempo.

Saludos!!!