Está en: 123 Hosting México » Soporte técnico » Base de conocimiento » Programación » Enviar correos mediante scripts

Base de conocimiento

Programación

Enviar correos mediante scripts

Por razones de seguridad nuestros servidores de correo funcionan únicamente con autenticación SMTP, es de suma importancia que tenga esto en cuenta al momento de implementar un script para envío de correos vía web, ya que si no lo hace los correos no serán enviados.

Implementación con PHP
Como la función mail() de PHP no soporta autenticación le recomendamos la implementación de la clase phpmailer.
Descárguela de http://sourceforge.net/projects/phpmailer/ y luego coloque el archivo class.phpmailer.php en el mismo directorio que el archivo php que contiene el script que realizará en envío.

Código de ejemplo:
<?php
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP(); // envío vía SMTP
$mail->Host = "mail.su-dominio.com"; // servidor SMTP
$mail->SMTPAuth = true; // autenticación SMTP activada
$mail->Username = "cuenta-que-envía-el-correo@su-dominio.com"; // usuario SMTP (va con arroba y nombre de dominio)
$mail->Password = "contraseña-de-la-cuenta-de-correo-que-envía"; // password SMTP
$mail->From = "su-nombre@su-dominio.com"; // correo remitente
$mail->FromName = "Su Nombre"; // nombre del remitente para mostrar
$mail->AddAddress("destinatario@otro-dominio.com","Nombre del destinatario"); // correo y nombre del destinatario
$mail->AddReplyTo("remitente@su-dominio.com","Remitente"); // correo y nombre al que responderán su correo
$mail->WordWrap = 50;
$mail->IsHTML(true); // envío HTML activado
$mail->Subject = "Este es el asunto";
$mail->Body = "Este es el cuerpo del <b>mensaje en HTML</b>";
if(!$mail->Send())
{
echo "El mensaje no ha sido enviado <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
echo "El mensaje ha sido enviado";
?>

Puede consultar más ejemplos de envío utilizando la clase phpmailer en http://phpmailer.codeworxtech.com/

Implementación con ASP
En nuestros servidores tenemos implementado los objetos aspSmartMail y Dundas AspMail, si desea realizar el envío con alguno de estos objetos descargue la documentación y ejemplos (en inglés) para poder hacerlo.

Código de ejemplo usando el objeto integrado CDO (Recomendado):
<%
'on error resume next
servidor="mail.su-dominio.com"
clave="su-contraseña"
asunto="Asunto del mensaje"
remitente="remitente@su-dominio.com""
destinatario="destinatario@otro-dominio.com"
mensaje="<html><body>Este es un mensaje en formato <b>HTML</b></body></html>"
copia="correo-que-recibira-una-copia@su-dominio.com"
Dim myMail
Set myMail=CreateObject("CDO.Message")
myMail.Subject=asunto
myMail.From=remitente
myMail.To= destinatario
myMail.Bcc= copia
myMail.HTMLBody=mensaje
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver")=servidor
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = FALSE 'Use SSL for the connection
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout")=60
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")=1
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername")=remitente
myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword")=clave
myMail.Configuration.Fields.Update
myMail.Send
set myMail=nothing
%>