Esta en: Hosting Mexico » Soporte tecnico » Base de conocimiento » Programacion » Enviar correos mediante scripts

Base de conocimiento

Programacion

Enviar correos mediante scripts

Por razones de seguridad nuestros servidores de correo funcionan unicamente con autenticacion SMTP, es de suma importancia que tenga esto en cuenta al momento de implementar un script para envio de correos via web, ya que si no lo hace los correos no seran enviados.

Implementacion con PHP
Como la funcion mail() de PHP no soporta autenticacion le recomendamos la implementacion de la clase phpmailer.
Descarguela 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 realizara en envio.

Codigo de ejemplo:
<?php
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP(); // envio via SMTP
$mail->Host = "mail.su-dominio.com"; // servidor SMTP
$mail->SMTPAuth = true; // autenticacion SMTP activada
$mail->Username = "cuenta-que-envia-el-correo@su-dominio.com"; // usuario SMTP (va con arroba y nombre de dominio)
$mail->Password = "contraseña-de-la-cuenta-de-correo-que-envia"; // 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 responderan su correo
$mail->WordWrap = 50;
$mail->IsHTML(true); // envio 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 mas ejemplos de envio utilizando la clase phpmailer en http://phpmailer.codeworxtech.com/

Implementacion con ASP
En nuestros servidores tenemos implementado los objetos aspSmartMail y Dundas AspMail, si desea realizar el envio con alguno de estos objetos descargue la documentación y ejemplos (en ingles) para poder hacerlo.

Codigo 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
%>