php

Uso da função mail () em PHP no Ubuntu

Uso da função mail () em PHP no Ubuntu

A função mail () é uma função PHP embutida que é usada para enviar e-mail do host local. Mas algumas configurações são necessárias para enviar e-mail usando esta função. Você precisará das informações reais do servidor de e-mail para definir a configuração. Você pode usar as informações do servidor de e-mail do seu servidor de hospedagem ativo ou pode usar qualquer informação gratuita do servidor de e-mail. Uma conta do Gmail e as informações do servidor SMTP do Gmail são usadas neste tutorial para enviar e-mail usando a função mail ().

Configuração de instalação

Dois arquivos serão necessários para modificar a fim de definir a configuração: o php.ini arquivo e outro arquivo é necessário para configurar para configurar o servidor de e-mail. Siga as etapas mostradas abaixo para definir a configuração. Muitos pacotes estão disponíveis em PHP para o envio de e-mail. msmtp é um cliente de servidor de e-mail PHP usado neste tutorial para enviar e-mail usando a função PHP mail ().

Passos:

Execute o seguinte comando para instalar o msmtp pacote no Ubuntu para configurar o servidor de e-mail:

$ sudo apt-get install msmtp

Crie um arquivo de configuração com o nome / etc / msmtprc com o seguinte comando:

$ sudo nano / etc / msmtprc

Adicione o seguinte conteúdo ao arquivo. Adicione o endereço de e-mail válido para o do utilizador e a senha válida para o senha que será usado para enviar um e-mail. Defina o endereço de e-mail do remetente para Formato valor.

padrões
tls ligado
tls_starttls on
tls_trust_file / etc / ssl / certs / ca-certificates.crt
conta padrão
host smtp.gmail.com
porta 587
autenticação em
usuário nomedeusuario @ gmail.com
senha user_password
de sender_email_address

Execute os seguintes comandos para definir a propriedade e permissão para arquivo / etc / msmtprc:

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

Abra o php.ini arquivo e modifique o seguinte conteúdo com os seguintes valores:

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

Sintaxe:

bool mail (string $ to, string $ subject, string $ message [, $ additional_headers [, string $ additional_parameters]])

Esta função pode receber quatro argumentos. O primeiro argumento leva o endereço de e-mail do destinatário. O segundo argumento leva o assunto do e-mail. O terceiro argumento leva o corpo do e-mail. O último argumento é opcional e contém informações adicionais do e-mail como uma string ou uma matriz.

Enviando e-mail usando a função mail ()

Diferentes exemplos de envio de e-mail usando a função mail () do PHP são mostrados nesta seção do tutorial.

Exemplo 1: enviar um e-mail de texto simples

Este exemplo mostra como um e-mail de texto simples pode ser enviado usando a função mail (). Crie um arquivo PHP com o seguinte script.

Você deve definir um endereço de e-mail válido para $ para variável para obter a saída do seguinte script. Um texto simples é definido como o corpo da mensagem.

// Defina o endereço de e-mail do destinatário
$ to = "[email protegido]";
// Defina o assunto do e-mail
$ subject = "É um email de teste";
// Defina o corpo do e-mail
$ message = "Está testando o corpo do e-mail";
// Defina as informações do cabeçalho
$ headers = "De: [email protegido] \ r \ n";
$ cabeçalhos .= "Responder a: [email protegido] \ r \ n";
// Enviar e-mail usando a função message mail ()
if (mail ($ to, $ subject, $ message, $ headers))

echo "Email enviado com sucesso.\ r \ n ";

senão
echo "O e-mail não foi enviado.
";

?>

A seguinte saída aparecerá após a execução do script do servidor web se a função mail () funcionar corretamente.


A seguinte saída aparecerá se você verificar a caixa de entrada do endereço de e-mail que foi definido como o endereço de e-mail do destinatário.

Exemplo 2: enviar um e-mail formatado em HTML

Este exemplo mostra como um e-mail formatado em HTML pode ser enviado usando a função mail (). Crie um arquivo PHP com o seguinte script.

$ mensagem variável é inicializada com conteúdo HTML que será enviado como um corpo de e-mail. É mencionado no $ header variável que o conteúdo do e-mail é HTML.

// Defina o endereço de e-mail do destinatário
$ to = "[email protegido]";
// Defina o assunto do e-mail
$ subject = 'Registro bem-sucedido';
// Defina o corpo do e-mail
$ message = '

Seu registro foi completado com sucesso.


nome de usuário = fahmida20

senha = aswQ34ghqw


';
// Definir retorno de carro
$ nl = "\ r \ n";
// Defina o cabeçalho do tipo de conteúdo
$ headers = 'Versão MIME: 1.0 '.$ nl;
$ cabeçalhos .= 'Tipo de conteúdo: texto / html; charset = iso-8859-1 '.$ nl;
// Defina as informações adicionais dos cabeçalhos
$ cabeçalhos .= 'Para: Mehrab Hossain'.$ nl;
$ cabeçalhos .= 'De: Admin'.$ nl;
$ cabeçalhos .= 'Cc: [email protegido]'.$ nl;
// Enviar e-mail usando a função message mail ()
if (mail ($ to, $ subject, $ message, $ headers))
echo "Email enviado com sucesso.\ r \ n ";

senão
echo "O e-mail não foi enviado. \ r \ n ";

?>

A seguinte saída aparecerá após a execução do script do servidor web se a função mail () funcionar corretamente.


O seguinte resultado aparecerá se você verificar a caixa de entrada do endereço de e-mail que foi definido como o endereço de e-mail do destinatário.

Exemplo 3: enviar um e-mail com o anexo

Este exemplo mostra como um e-mail pode ser enviado anexando um arquivo de texto. Crie um arquivo de texto com o seguinte script.

O conteúdo do arquivo de texto é lido e codificado antes do anexo e a função md5 () é usada no script para gerar um número aleatório para o conteúdo misto. Todas as informações necessárias são adicionadas em $ cabeçalhos e $ mensagem variáveis ​​antes de enviar o e-mail.

// Defina o endereço de e-mail do destinatário
$ to = "[email protegido]";
// Defina o assunto do e-mail
$ subject = "Arquivo anexo";
// Definir retorno de carro
$ nl = "\ r \ n";
// Defina um hash aleatório que será usado para conteúdo misto
$ separator = md5 (time ());
// Leia o conteúdo do arquivo anexado
$ filename = 'meuarquivo.TXT';
$ content = file_get_contents ($ filename);
$ content = chunk_split (base64_encode ($ content));
// Defina a mensagem de e-mail com informações do anexo
$ message = "-" . $ separator . $ nl;
$ mensagem .= "Content-Type: text / plain; charset =" iso-8859-1 "" . $ nl;
$ mensagem .= "Codificação de transferência de conteúdo: 8 bits" . $ nl;
$ mensagem .= "Um arquivo de texto é anexado ao e-mail." . $ nl;
$ mensagem .= "-" . $ separator . $ nl;
$ mensagem .= "Tipo de conteúdo: aplicativo / fluxo de octeto; nome =" " . $ filename . "" " . $ nl;
$ mensagem .= "Codificação de transferência de conteúdo: base64" . $ nl;
$ mensagem .= "Disposição de conteúdo: anexo" . $ nl;
$ mensagem .= $ content . $ nl;
$ mensagem .= "-" . $ separator . "-";
// Defina o cabeçalho do tipo de conteúdo
$ headers = 'Versão MIME: 1.0 '.$ nl;
$ cabeçalhos .= "De: [email protegido]".$ nl;
$ cabeçalhos .= "Responder a: [email protegido]".$ nl;
$ cabeçalhos .= "Tipo de conteúdo: multipart / misto; limite =" " . $ separator . "" " .$ nl;
// Enviar e-mail usando a função message mail ()
if (mail ($ to, $ subject, $ message, $ headers))
echo "Email enviado com anexo com sucesso.\ r \ n ";

senão
echo "O e-mail não foi enviado. \ r \ n ";

?>

A seguinte saída aparecerá após a execução do script do servidor web se a função mail () funcionar corretamente.


A seguinte saída aparecerá se você verificar a caixa de entrada do endereço de e-mail que foi definido como o endereço de e-mail do destinatário.

Conclusão

Existem muitas maneiras de enviar e-mails em PHP. A função PHP mail () não funciona corretamente no Ubuntu após definir a configuração. Este tutorial mostra as configurações necessárias e a maneira de enviar e-mails usando a função PHP mail ().

Como usar o AutoKey para automatizar jogos Linux
AutoKey é um utilitário de automação de desktop para Linux e X11, programado em Python 3, GTK e Qt. Usando sua funcionalidade de script e MACRO, você ...
Como mostrar o contador de FPS em jogos Linux
Os jogos Linux tiveram um grande impulso quando a Valve anunciou o suporte Linux para o cliente Steam e seus jogos em 2012. Desde então, muitos jogos ...
Como baixar e jogar Sid Meier's Civilization VI no Linux
Introdução ao jogo Civilization 6 é uma versão moderna do conceito clássico introduzido na série de jogos Age of Empires. A ideia era bastante simples...