Uso da função de email no PHP no Ubuntu

Uso da função de email no PHP no Ubuntu

A função Mail () é uma função PHP embutida usada para enviar email da localhost. Mas algumas configurações são obrigadas a enviar email usando esta função. Você precisará das informações reais do servidor de correio para configurar a configuração. Você pode usar as informações do servidor de email do seu servidor de hospedagem ativo ou pode usar qualquer informação gratuita do servidor de email. Uma conta do Gmail e as informações do servidor SMTP do Gmail são usadas neste tutorial para enviar email usando a função Mail ().

Configuração de configuração

Dois arquivos deverão modificar para configurar a configuração: o php.ini O arquivo e outro arquivo são necessários para configurar para configurar o servidor de correio. Siga as etapas mostradas abaixo para configurar a configuração. Muitos pacotes estão disponíveis no PHP para enviar um email. msmtp é um cliente de servidor de e -mail php que é usado neste tutorial para enviar email usando a função php Mail ().

Passos:

Execute o seguinte comando para instalar o msmtp Pacote no Ubuntu para configurar o servidor de correio:

$ sudo apt-get install msmtp

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

$ sudo nano /etc /msmtprc

Adicione o seguinte conteúdo ao arquivo. Adicione o endereço de email 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 forma valor.

padrões
tls on
tls_starttls
tls_trust_file/etc/ssl/certs/ca-certificados.Crt
Conta Padrão
Host SMTP.Gmail.com
Porta 587
Auth On
Usuário nome de usuá[email protected]
senha user_password
De sender_email_address

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

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

Abra o php.ini Arquive 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 $ para, string $ sujeito, string $ message [, mixed $ adicional_headers [, string $ adicional_parameters]])

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

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

Diferentes exemplos de envio de um email usando a função Mail () do PHP são mostrados nesta seção do tutorial.

Exemplo 1: Envie 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ê tem que 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 um corpo de mensagem.

// Defina o endereço de e -mail do Reciever
$ para = "[email protected] ";
// Defina o assunto do email
$ sujeito = "É um email de teste";
// Defina o corpo de e -mail
$ message = "está testando o corpo de email";
// Defina as informações do cabeçalho
$ headers = "De: [email protected] \ r \ n ";
$ cabeçalhos .= "Responder-To: [email protected] \ r \ n ";
// Envie email usando a função de maiores e -mail ()
if (Mail ($ para, $ sujeito, $ message, $ headers))

eco "o e -mail enviou com sucesso.\ r \ n ";

outro
eco "e -mail não enviado.
";

?>

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


A saída a seguir será exibida se você verificar a caixa de entrada do endereço de e -mail que foi definido como o endereço de e -mail do receptor.

Exemplo 2: Envie um email formatado HTML

Este exemplo mostra como um email formatado HTML pode ser enviado usando a função Mail (). Crie um arquivo php com o seguinte script.

$ mensagem A variável é inicializada com o conteúdo HTML que será enviado como um corpo de e -mail. É mencionado no $ cabeçalho variável de que o conteúdo do email é html.

// Defina o endereço de e -mail do Reciever
$ para = "[email protected] ";
// Defina o assunto do email
$ sujeito = 'Registro bem -sucedido';
// Defina o corpo de e -mail
$ message = '

Seu registro é concluído com sucesso.


nome de usuário = Fahmida20

senha = ASWQ34GHQW


';
// Defina o retorno do carro
$ nl = "\ r \ n";
// Defina o cabeçalho do tipo conteúdo
$ headers = 'Mime-Version: 1.0 '.$ nl;
$ cabeçalhos .= 'Content-Type: text/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 protected] '.$ nl;
// Envie email usando a função de maiores e -mail ()
if (Mail ($ para, $ sujeito, $ message, $ headers))
eco "o e -mail enviou com sucesso.\ r \ n ";

outro
eco "e -mail não enviado. \ r \ n ";

?>

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


A saída a seguir será exibida se você verificar a caixa de entrada do endereço de e -mail que foi definido como o endereço de e -mail do receptor.

Exemplo 3: Envie um email com o anexo

Este exemplo mostra como um email 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 conteúdo misto. Todas as informações necessárias são adicionadas em $ cabeçalhos e $ mensagem variáveis ​​antes de enviar o email.

// Defina o endereço de e -mail do Reciever
$ para = "[email protected] ";
// Defina o assunto do email
$ sujeito = "anexo de arquivo";
// Defina o retorno do carro
$ nl = "\ r \ n";
// Defina um hash aleatório que será usado para conteúdo misto
$ separador = md5 (time ());
// Leia o conteúdo do arquivo anexado
$ filename = 'myfile.TXT';
$ content = file_get_contents ($ filename);
$ content = chunk_split (base64_encode ($ content));
// Defina a mensagem de e -mail com informações de anexo
$ message = "-" . $ separador . $ nl;
$ mensagem .= "Content-Type: text/Plain; charset =" ISO-8859-1 "" . $ nl;
$ mensagem .= "Content-transfer-coding: 8bit" . $ nl;
$ mensagem .= "Um arquivo de texto está anexado com o email." . $ nl;
$ mensagem .= "-" . $ separador . $ nl;
$ mensagem .= "Content-Type: Application/Octet-Stream; name =" "" . $ nome do arquivo . "" " . $ nl;
$ mensagem .= "Content-transfer-coding: base64" . $ nl;
$ mensagem .= "Disposição de conteúdo: anexo" . $ nl;
$ mensagem .= $ Content . $ nl;
$ mensagem .= "-" . $ separador . "-";
// Defina o cabeçalho do tipo conteúdo
$ headers = 'Mime-Version: 1.0 '.$ nl;
$ cabeçalhos .= "De: [email protected] ".$ nl;
$ cabeçalhos .= "Responder-To: [email protected] ".$ nl;
$ cabeçalhos .= "Conteúdo-Type: Multipart/Mixed; Boundy =" "" . $ separador . "" " .$ nl;
// Envie email usando a função de maiores e -mail ()
if (Mail ($ para, $ sujeito, $ message, $ headers))
Echo "e -mail enviado com anexo com sucesso.\ r \ n ";

outro
eco "e -mail não enviado. \ r \ n ";

?>

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


A saída a seguir será exibida se você verificar a caixa de entrada do endereço de e -mail que foi definido como o endereço de e -mail do receptor.

Conclusão

Muitas maneiras existem no PHP para enviar e -mails. A função php Mail () não funciona corretamente no Ubuntu depois de 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 ().