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 msmtpCrie um arquivo de configuração com o nome / etc / msmtprc com o seguinte comando:
$ sudo nano / etc / msmtprcAdicione 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õestls 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.comsmtp_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 ().