You are here
¿Cómo Enviar Correo Electrónico Con PHP? Sin categoría 

¿Cómo Enviar Correo Electrónico Con PHP?

¿Cómo Enviar Correo Electrónico Con PHP?

Una cosa que sin duda vamos a hacer frente a mensajes de correo electrónico, al programar en PHP está enviando.Aunque parece muy trivial y fácil de realizar la tarea asignada a veces puede haber obstáculos inesperados. En primer lugar vamos a empezar con la forma más común para enviar correo electrónico de texto sin formato. Estoy bastante seguro de que todo el mundo está familiarizado con la función mail ().

1
2
3
4
5
6
7
8
9
10
<?php
$To = 'recepient@yourdomain.com';
$Subject = 'Send Email';
$Message = 'This example demonstrates how you can send plain text email with PHP';
$Headers = "From: sender@yourdomain.com \r\n" .
"Reply-To: sender@yourdomain.com \r\n" .
"Content-type: text/html; charset=UTF-8 \r\n";
 
mail($To, $Subject, $Message, $Headers);
?>

Los parámetros de la función mail () son más o menos fáciles de entender. La única cosa aquí que puede causar confusión es el “Content-type” de cabecera. Estados Content-Type qué tipo de contenido es el mensaje de correo electrónico. Puede ser texto, HTML, archivo, imagen y muchos otros. El “Content-type” de cabecera también puede contener información sobre la codificación de caracteres. Ahora vamos a enviar otro correo electrónico, pero esta vez vamos a agregar datos adjuntos a la misma. La idea es la misma, sólo los encabezados tienen que ser establecido.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$b = 0;
$mail_attached = "";
$boundary = md5(time());
$fp = fopen($file_name,"rb");
$content[$b] = fread($fp,filesize($file_name));
$mail_attached .= "--" . $boundary . "\n"
. "Content-Type: binary/octet-stream; name="basename($file_name)" \n"
. "Content-Transfer-Encoding: base64 n"
. "Content-Disposition: inline; filename="basename($file_name)" \n"
. chunk_split(base64_encode($content[$b]))."\n";
$b++;
fclose($fp);
$mail_attached .= "--".$boundary."\n";
 
$add_header = "MIME-Version: 1.0\n".
"Content-Type: multipart/mixed; boundary="$boundary"; Message-ID: <".md5($email_from).">";
$mail_content = "--".$boundary."\n".
"Content-Type: text/plain; charset="UTF-8"\n".
"Content-Transfer-Encoding: 8bit \n\n".
$msg." nn".
$mail_attached;
mail($email_address, $subject, $mail_content, "From: ".$email_from."\nCC: ".$email_cc."\n
BCC: ".$email_bcc ."\n Errors-To: ".$email_from."\n".$add_header);
?>

En primer lugar tenemos que crear una cadena única, para nuestro mensaje de correo electrónico, lo que llamamos serie de límite. Nuestros datos de archivo deben estar entre aquellos serie de límite, de modo que pueda ser identificado como archivo de programas de correo electrónico. Utilizamos md5 ot la hora actual. Entonces tenemos que añadir nuestro archivo. Hemos leído su contenido y cargarlo en cadena. Además, tenemos que codificarlo con la función base64_encode, que se dividió en pedazos pequeños de datos. Estos fragmentos de datos son requeridos por las especificaciones del tipo MIME. Ahora cerramos la serie de límite. Lo único que queda es añadir nuestro mensaje a este correo electrónico. Hemos terminado el envío de mensajes de correo electrónico con la función mail (). A pesar de que es muy fácil la función de correo no nos proporciona una forma de enviar mensajes de correo electrónico mediante la autenticación SMTP. Muchos de los servidores de correo de hoy en día requieren este tipo de autorización, y es importante que usted sepa cómo manejar esto. Afortunadamente hay una manera igualmente fácil de enviar correo electrónico desde script PHP usando la autenticación SMTP. Todo lo que tiene que utilizar es PEAR paquete de correo. Está distribuido junto con el propio PHP, por lo que sólo tiene que comprobar si está instalado en su sistema. Si es así, lo único que tiene que hacer es configurar los parámetros necesarios para una autenticación SMTP.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
include_once("Mail.php");
 
$From = "Sender's name <sender@yourdomain.com>";
$To = "Recipient's name <recipient@yourdomain.com>";
$Subject = "Send Email using SMTP authentication";
$Message = "This example demonstrates how you can send email with PHP using SMTP authentication";
 
$Host = "mail.yourdomain.com";
$Username = "smtp_username";
$Password = "smtp_password";
 
// Do not change bellow
 
$Headers = array ('From' => $From, 'To' => $To, 'Subject' => $Subject);
$SMTP = Mail::factory('smtp', array ('host' => $Host, 'auth' => true,
'username' => $Username, 'password' => $Password));
 
$mail = $SMTP->send($To, $Headers, $Message);
 
if (PEAR::isError($mail)){
echo($mail->getMessage());
} else {
echo("Email Message sent!");
}
?>

Como se puede ver en el ejemplo anterior, usted tiene que incluir el paquete PEAR de correo, por lo que la secuencia de comandos se puede utilizar. Tiene que hacerse sólo una vez, de manera que usamos include_once.Entonces usted tiene que poner sus datos en los campos y eso es todo. Lo que el resto del código hace es crear un nuevo objeto SMTP, utilizando los datos introducidos y enviar el correo electrónico.


Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros

Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

Related posts