php

Uso de la función mail () en PHP en Ubuntu

Uso de la función mail () en PHP en Ubuntu

La función mail () es una función PHP incorporada que se utiliza para enviar correo electrónico desde el host local. Pero se requieren algunas configuraciones para enviar correo electrónico usando esta función. Necesitará la información del servidor de correo real para configurar la configuración. Puede utilizar la información del servidor de correo de su servidor de alojamiento activo, o puede utilizar cualquier información gratuita del servidor de correo. En este tutorial se utilizan una cuenta de Gmail y la información del servidor SMTP de Gmail para enviar correo electrónico mediante la función mail ().

Configuración de instalación

Se requerirán dos archivos para modificar para establecer la configuración: el php.ini Se requiere un archivo y otro archivo para configurar para configurar el servidor de correo. Siga los pasos que se muestran a continuación para configurar la configuración. Hay muchos paquetes disponibles en PHP para enviar un correo electrónico. msmtp es un cliente de servidor de correo PHP que se usa en este tutorial para enviar correo electrónico usando la función PHP mail ().

Pasos:

Ejecute el siguiente comando para instalar el msmtp paquete en Ubuntu para configurar el servidor de correo:

$ sudo apt-get install msmtp

Cree un archivo de configuración con el nombre / etc / msmtprc con el siguiente comando:

$ sudo nano / etc / msmtprc

Agregue el siguiente contenido al archivo. Agregue la dirección de correo electrónico válida para el usuario y la contraseña válida para el contraseña que se utilizará para enviar un correo electrónico. Configure la dirección de correo electrónico del remitente para formulario valor.

valores predeterminados
tls en
tls_starttls en
tls_trust_file / etc / ssl / certs / ca -ificates.crt
cuenta predeterminada
host smtp.gmail.com
puerto 587
auth en
usuario nombre de usuario @ gmail.com
contraseña contraseña_usuario
de sender_email_address

Ejecute los siguientes comandos para establecer la propiedad y el permiso para archivo / etc / msmtprc:

$ sudo chown fahmida / etc / msmtprc
$ sudo chmod 0600 / etc / msmtprc

Abre el php.ini archivar y modificar el siguiente contenido con los siguientes valores:

SMTP = smtp.gmail.com
smtp_port = 587
sendmail_path = "/ usr / bin / msmtp -t -i"

Sintaxis:

bool mail (cadena $ para, cadena $ asunto, cadena $ mensaje [, $ encabezados_adicionales mixtos [, cadena $ parámetros_adicionales]])

Esta función puede tomar cuatro argumentos. El primer argumento toma la dirección de correo electrónico del destinatario. El segundo argumento toma el asunto del correo electrónico. El tercer argumento toma el cuerpo del correo electrónico. El último argumento es opcional y contiene información adicional del correo electrónico como una cadena o una matriz.

Envío de correo electrónico mediante la función mail ()

En esta sección del tutorial se muestran diferentes ejemplos de envío de un correo electrónico utilizando la función mail () de PHP.

Ejemplo 1: enviar un correo electrónico de texto simple

Este ejemplo muestra cómo se puede enviar un correo electrónico de texto simple usando la función mail (). Crea un archivo PHP con el siguiente script.

Debe establecer una dirección de correo electrónico válida para $ a variable para obtener la salida del siguiente script. Un texto simple se establece como el cuerpo del mensaje.

// Establecer la dirección de correo electrónico del destinatario
$ to = "[correo electrónico protegido]";
// Establecer el asunto del correo electrónico
$ subject = "Es un correo electrónico de prueba";
// Establecer el cuerpo del correo electrónico
$ mensaje = "Está probando el cuerpo del correo electrónico";
// Establecer la información del encabezado
$ headers = "De: [correo electrónico protegido] \ r \ n";
$ encabezados .= "Responder a: [correo electrónico protegido] \ r \ n";
// Enviar correo electrónico usando la función de mensaje mail ()
if (correo ($ para, $ asunto, $ mensaje, $ encabezados))

echo "El correo electrónico se ha enviado correctamente.\ r \ n ";

demás
echo "El correo electrónico no se ha enviado.
";

?>

La siguiente salida aparecerá después de ejecutar el script desde el servidor web si la función mail () funciona correctamente.


El siguiente resultado aparecerá si marca la bandeja de entrada de la dirección de correo electrónico que se ha configurado como dirección de correo electrónico del destinatario.

Ejemplo 2: enviar un correo electrónico con formato HTML

Este ejemplo muestra cómo se puede enviar un correo electrónico con formato HTML utilizando la función mail (). Crea un archivo PHP con el siguiente script.

$ mensaje la variable se inicializa con contenido HTML que se enviará como un cuerpo de correo electrónico. Se menciona en el $ encabezado variable que el contenido del correo electrónico es HTML.

// Establecer la dirección de correo electrónico del destinatario
$ to = "[correo electrónico protegido]";
// Establecer el asunto del correo electrónico
$ subject = 'Registro exitoso';
// Establecer el cuerpo del correo electrónico
$ mensaje = '

Su registro se completó con éxito.


nombre de usuario = fahmida20

contraseña = aswQ34ghqw


';
// Establecer retorno de carro
$ nl = "\ r \ n";
// Establecer el encabezado de tipo de contenido
$ encabezados = 'Versión MIME: 1.0 '.$ nl;
$ encabezados .= 'Tipo de contenido: texto / html; juego de caracteres = iso-8859-1 '.$ nl;
// Establecer la información adicional de los encabezados
$ encabezados .= 'Para: Mehrab Hossain'.$ nl;
$ encabezados .= 'De: Admin'.$ nl;
$ encabezados .= 'Cc: [correo electrónico protegido]'.$ nl;
// Enviar correo electrónico usando la función de mensaje mail ()
if (correo ($ para, $ asunto, $ mensaje, $ encabezados))
echo "El correo electrónico se ha enviado correctamente.\ r \ n ";

demás
echo "El correo electrónico no se ha enviado. \ r \ n ";

?>

La siguiente salida aparecerá después de ejecutar el script desde el servidor web si la función mail () funciona correctamente.


El siguiente resultado aparecerá si marca la bandeja de entrada de la dirección de correo electrónico que se ha configurado como dirección de correo electrónico del destinatario.

Ejemplo 3: enviar un correo electrónico con el archivo adjunto

Este ejemplo muestra cómo se puede enviar un correo electrónico adjuntando un archivo de texto. Crea un archivo de texto con la siguiente secuencia de comandos.

El contenido del archivo de texto se lee y codifica antes del adjunto y la función md5 () se usa en el script para generar un número aleatorio para contenido mixto. Toda la información necesaria se agrega en $ encabezados y $ mensaje variables antes de enviar el correo electrónico.

// Establecer la dirección de correo electrónico del destinatario
$ to = "[correo electrónico protegido]";
// Establecer el asunto del correo electrónico
$ subject = "Archivo adjunto";
// Establecer retorno de carro
$ nl = "\ r \ n";
// Establecer un hash aleatorio que se utilizará para contenido mixto
$ separador = md5 (tiempo ());
// Leer el contenido del archivo adjunto
$ nombre de archivo = 'myfile.TXT';
$ contenido = file_get_contents ($ nombre de archivo);
$ contenido = chunk_split (base64_encode ($ contenido));
// Establecer el mensaje de correo electrónico con información adjunta
$ mensaje = "-" . $ separador . $ nl;
$ mensaje .= "Tipo de contenido: texto / sin formato; juego de caracteres =" iso-8859-1 "" . $ nl;
$ mensaje .= "Codificación de transferencia de contenido: 8 bits" . $ nl;
$ mensaje .= "Se adjunta un archivo de texto con el correo electrónico." . $ nl;
$ mensaje .= "-" . $ separador . $ nl;
$ mensaje .= "Tipo de contenido: aplicación / secuencia de octetos; nombre =" " . $ nombre de archivo . "" " . $ nl;
$ mensaje .= "Codificación de transferencia de contenido: base64" . $ nl;
$ mensaje .= "Content-Disposition: adjunto" . $ nl;
$ mensaje .= $ contenido . $ nl;
$ mensaje .= "-" . $ separador . "-";
// Establecer el encabezado de tipo de contenido
$ encabezados = 'Versión MIME: 1.0 '.$ nl;
$ encabezados .= "De: [correo electrónico protegido]".$ nl;
$ encabezados .= "Responder a: [correo electrónico protegido]".$ nl;
$ encabezados .= "Tipo de contenido: multiparte / mixto; límite =" " . $ separador . "" " .$ nl;
// Enviar correo electrónico usando la función de mensaje mail ()
if (correo ($ para, $ asunto, $ mensaje, $ encabezados))
echo "El correo electrónico se ha enviado con un archivo adjunto correctamente.\ r \ n ";

demás
echo "El correo electrónico no se ha enviado. \ r \ n ";

?>

La siguiente salida aparecerá después de ejecutar el script desde el servidor web si la función mail () funciona correctamente.


El siguiente resultado aparecerá si marca la bandeja de entrada de la dirección de correo electrónico que se ha configurado como dirección de correo electrónico del destinatario.

Conclusión

Existen muchas formas en PHP para enviar correos electrónicos. La función PHP mail () no funciona correctamente en Ubuntu después de establecer la configuración. Este tutorial muestra las configuraciones necesarias y la forma de enviar correos electrónicos usando la función PHP mail ().

Puertos de código abierto de motores de juegos comerciales
Las recreaciones gratuitas, de código abierto y de motores de juegos multiplataforma se pueden usar para jugar títulos de juegos antiguos y también al...
Los mejores juegos de línea de comandos para Linux
La línea de comandos no es solo su mayor aliado cuando usa Linux, también puede ser la fuente de entretenimiento porque puede usarla para jugar muchos...
Las mejores aplicaciones de mapeo de gamepad para Linux
Si te gusta jugar juegos en Linux con un gamepad en lugar de un sistema de entrada de teclado y mouse típico, hay algunas aplicaciones útiles para ti....