Uso de la función de correo en PHP en Ubuntu

Uso de la función de correo en PHP en Ubuntu

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

Configuración de configuración

Se requerirán dos archivos para modificar para configurar la configuración: el php.ini Archivo y se requiere otro archivo para configurar para configurar el servidor de correo. Siga los pasos que se muestran a continuación para configurar la configuración. Muchos paquetes están disponibles en PHP para enviar un correo electrónico. MSMTP es un cliente de servidor de correo PHP que se utiliza en este tutorial para enviar correo electrónico utilizando 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 llamado /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 usará para enviar un correo electrónico. Establezca la dirección de correo electrónico del remitente para forma valor.

valores predeterminados
tls en
tls_starttls en
tls_trust_file/etc/ssl/certs/ca-certificates.CRT
Valor predeterminado de la cuenta
anfitrión SMTP.gmail.comunicarse
puerto 587
auténtico
nombre de usuario de [email protected]
contraseña user_password
Desde Sender_Email_address

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

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

Abre el php.ini archivo y modifique el siguiente contenido con los siguientes valores:

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

Sintaxis:

bool mail (cadena $ a, cadena $ sujeto, cadena $ mensaje [, mixta $ adicional_headers [, cadena $ adicional_parameters]]))

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

Enviar correo electrónico usando la función Mail ()

En esta sección del tutorial se muestran diferentes ejemplos de enviar un correo electrónico utilizando la función de correo () de PHP 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 utilizando la función Mail (). Cree 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 un cuerpo de mensaje.

// Establecer la dirección de correo electrónico del receptor
$ to = "[email protected] ";
// Establecer el tema del correo electrónico
$ temas = "Es un correo electrónico de prueba";
// Establecer el cuerpo de correo electrónico
$ mensaje = "está probando el cuerpo de correo electrónico";
// Establecer la información del encabezado
$ Headers = "De: [email protected] \ r \ n ";
$ encabezados .= "Respuesta a: [email protected] \ r \ n ";
// Enviar correo electrónico usando la función Message Mail ()
if (mail ($ to, $ asunto, $ mensaje, $ encabezados))

Echo "El correo electrónico se ha enviado con éxito.\ r \ n ";

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

?>

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


Aparecerá la siguiente salida si verifica la bandeja de entrada de la dirección de correo electrónico que se ha establecido como dirección de correo electrónico del receptor.

Ejemplo 2: Envíe un correo electrónico formateado HTML

Este ejemplo muestra cómo se puede enviar un correo electrónico formateado HTML usando la función Mail (). Cree 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 receptor
$ a = "[email protected] ";
// Establecer el tema del correo electrónico
$ temas = 'Registro exitoso';
// Establecer el cuerpo de correo electrónico
$ mensaje = '

Su registro se completa con éxito.


nombre de usuario = fahmida20

contraseña = ASWQ34GHQW


';
// establecer el retorno del carro
$ nl = "\ r \ n";
// Establecer el encabezado de tipo de contenido
$ encabezados = 'Versión mime: 1.0 '.$ nl;
$ encabezados .= 'Content-type: text/html; charset = ISO-8859-1 '.$ nl;
// Establecer la información de encabezados adicionales
$ encabezados .= 'A: Mehrab Hossain'.$ nl;
$ encabezados .= 'De: Admin'.$ nl;
$ encabezados .= 'Cc: [email protected] '.$ nl;
// Enviar correo electrónico usando la función Message Mail ()
if (mail ($ to, $ temas, $ mensaje, $ encabezados))
Echo "El correo electrónico se ha enviado con éxito.\ r \ n ";

demás
Echo "El correo electrónico no 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.


Aparecerá la siguiente salida si verifica la bandeja de entrada de la dirección de correo electrónico que se ha establecido como dirección de correo electrónico del receptor.

Ejemplo 3: Envíe 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. Crear un archivo de texto con el siguiente script.

El contenido del archivo de texto se lee y codifica antes del archivo 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 receptor
$ a = "[email protected] ";
// Establecer el tema del correo electrónico
$ temas = "archivo adjunto";
// establecer el retorno del carro
$ nl = "\ r \ n";
// Establecer un hash aleatorio que se usará para contenido mixto
$ separator = md5 (time ());
// Lea el contenido del archivo adjunto
$ filename = 'myfile.TXT';
$ content = file_get_contents ($ filename);
$ content = chunk_split (base64_encode ($ content));
// Establecer el mensaje de correo electrónico con información de archivo adjunto
$ mensaje = "-" . $ separador . $ nl;
$ mensaje .= "Content-Type: Text/Plain; Charset =" ISO-8859-1 "" . $ nl;
$ mensaje .= "Contenido de transferencia de transferencia: 8 bits" . $ nl;
$ mensaje .= "Se adjunta un archivo de texto con el correo electrónico." . $ nl;
$ mensaje .= "-" . $ separador . $ nl;
$ mensaje .= "Content-type: Application/Octet-stream; name =" " . $ nombre de archivo . "" " . $ nl;
$ mensaje .= "Contenido de transferencia de transferencia: base64" . $ nl;
$ mensaje .= "Disposición de contenido: archivo adjunto" . $ nl;
$ mensaje .= $ contenido . $ nl;
$ mensaje .= "-" . $ separador . "-";
// Establecer el encabezado de tipo de contenido
$ encabezados = 'Versión mime: 1.0 '.$ nl;
$ encabezados .= "De: [email protected] ".$ nl;
$ encabezados .= "Respuesta a: [email protected] ".$ nl;
$ encabezados .= "Content-type: multipart/mixed; boundary =" " . $ separador . "" " .$ nl;
// Enviar correo electrónico usando la función Message Mail ()
if (mail ($ to, $ temas, $ mensaje, $ encabezados))
Echo "El correo electrónico se ha enviado con éxito con éxito.\ r \ n ";

demás
Echo "El correo electrónico no 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.


Aparecerá la siguiente salida si verifica la bandeja de entrada de la dirección de correo electrónico que se ha establecido como dirección de correo electrónico del receptor.

Conclusión

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