Como enviar um email usando PHP

Como enviar um email usando PHP

Para qualquer site, enviar um e -mail pelo script PHP é um requisito muito comum. Por exemplo, se o site contiver qualquer opção de registro para o usuário, é necessário um email de confirmação para enviar ao usuário para verificação de email. Você pode enviar e -mails usando PHP utilizando o PHP Função de Mail () ou qualquer biblioteca PHP. Duas bibliotecas PHP usadas principalmente para enviar e -mails são Phpmailer e Swiftmailer. A maneira de enviar um email usando o Função de Mail () foi discutido em outro tutorial. Os usos do Phpmailer Biblioteca para enviar e -mails no PHP foram demonstrados neste tutorial.

Enviando um e -mail usando o Phpmailer:

Phpmailer é uma biblioteca de classe muito útil que contém uma coleção de funções para enviar email usando PHP. Você pode enviar e -mails de várias maneiras do servidor local usando esta biblioteca. Execute o seguinte comando para instalar Phpmailer No sistema operacional Ubuntu:

$ sudo apt-get install libphp-phpmailer

Pré -requisitos:

Você deve ter uma conta do Gmail para usar a instalação de envio de email de Phpmailer. Depois de instalar Phpmailer, Você tem que ativar a opção “Permitir aplicativos menos seguros”Da sua conta do Gmail.

Diferentes exemplos de envio de e -mail usando o Phpmailer:

Aqui estão os seguintes usos do Phpmailer Biblioteca para enviar e -mail de maneiras diferentes:

Exemplo 1: enviando email de texto

O script a seguir mostra a maneira de enviar um e -mail simples usando Phpmailer. Este script atribui quatro partes essenciais de qualquer email (de, para sujeito, corpo). setFrom e Addaddress Os métodos são usados ​​para definir endereços de e -mail de remetente e receptor. Sujeito e corpo As propriedades são usadas para definir o assunto e o corpo do email. Se o email for enviado corretamente, a mensagem de sucesso será impressa e se o email não for enviado, a mensagem de falha será impressa.

requer '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
requer '/usr/share/php/libphp-phpmailer/src/smtp.php ';
// declarar o objeto de phpmailer
$ email = new phpmailer \ phpmailer \ phpmailer ();
// Configure a configuração necessária para enviar email
$ email-> ISSMTP ();
$ email-> smtpauth = true;
$ email-> smtpsecure = 'ssl';
$ email-> host = "smtp.Gmail.com ";
$ email-> porta = 465;
// Defina o endereço do Gmail que será usado para enviar e -mail
$ email-> nome de usuário = "nome de usuá[email protected] ";
// Defina a senha válida para o endereço do Gmail
$ email-> senha = "senha";
// Defina o endereço de e -mail do remetente
$ email-> setFrom ("[email protected] ");
// Defina o endereço de e -mail do receptor
$ email-> addaddress ("[email protected] ");
// defina o assunto
$ email-> sujeito = "Email de teste";
// Defina o conteúdo de email
$ email-> body = "Olá! Use Phpmailer para enviar email usando PHP ";
se(!$ email-> send ())
eco "Erro:" . $ email-> errorInfo;
outro
eco "e -mail foi enviado.";

?>

Saída:

A saída a seguir aparecerá se o email tiver sido enviado com sucesso:


Se você verificar o endereço de e -mail do receptor, será mostrado a seguinte saída semelhante:

Exemplo 2: Enviando email formatado HTML

Você pode enviar email formatado HTML usando Phpmailer. Você tem que usar ishtml () com verdadeiro Valor do parâmetro para enviar email formatado HTML. Aqui, outro método Altbody () é usado para enviar o conteúdo de email como texto simples se o usuário não conseguir receber o email com conteúdo HTML.

requer '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
requer '/usr/share/php/libphp-phpmailer/src/smtp.php ';
// declarar o objeto de phpmailer
$ email = new phpmailer \ phpmailer \ phpmailer ();
// Configure a configuração necessária para enviar email
$ email-> ISSMTP ();
$ email-> smtpauth = true;
$ email-> smtpsecure = 'ssl';
$ email-> host = "smtp.Gmail.com ";
$ email-> porta = 465;
$ email-> ishtml (true);
// Defina o endereço do Gmail que será usado para enviar e -mail
$ email-> nome de usuário = "nome de usuá[email protected] ";
// Defina a senha válida para o endereço do Gmail
$ email-> senha = "senha";
// Defina o endereço de e -mail do remetente
$ email-> setFrom ("[email protected] ");
// Defina o endereço de e -mail do receptor
$ email-> addaddress ("[email protected] ");
$ email-> sujeito = 'mensagem enviada por phpmailer';
$ email-> corpo = '

Olá!

Estou usando o phpmailer para enviar e -mail

';
$ email-> altbody = 'Esta mensagem é gerada por texto simples!';
$ email-> ishtml (true);
se(!$ email-> send ())
eco "Erro:" . $ email-> errorInfo;
outro
eco "e -mail foi enviado.";

?>

Saída:

Se você verificar o endereço de e -mail do receptor, a seguinte saída formatada HTML será mostrada:

Exemplo 3: Enviando um e -mail anexando um arquivo local

Muitos métodos estão disponíveis em Phpmailer classe para enviar conteúdo em anexo com o email. Juntar anexo() O método é um deles usado no script a seguir. Este método possui um parâmetro obrigatório e três parâmetros opcionais.

addattachment ($ path, $ name, $ coding, $ type); requer '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
requer '/usr/share/php/libphp-phpmailer/src/smtp.php ';
// declarar o objeto de phpmailer
$ email = new phpmailer \ phpmailer \ phpmailer ();
// Configure a configuração necessária para enviar email
$ email-> ISSMTP ();
$ email-> smtpauth = true;
$ email-> smtpsecure = 'ssl';
$ email-> host = "smtp.Gmail.com ";
$ email-> porta = 465;
$ email-> ishtml (true);
// Defina o endereço do Gmail que será usado para enviar e -mail
$ email-> nome de usuário = "nome de usuá[email protected] ";
// Defina a senha válida para o endereço do Gmail
$ email-> senha = "senha";
// Defina o endereço de e -mail do remetente
$ email-> setFrom ("[email protected] ");
// Defina o endereço de e -mail do receptor
$ email-> addaddress ("[email protected] ");
$ email-> addaddress ('[email protected] ');
$ email-> sujeito = 'mensagem enviada por phpmailer';
$ email-> corpo = 'Olá! Use Phpmailer para enviar email usando PHP ';
$ email-> addattachment ('frutas.TXT');
se(!$ email-> send ())
eco "Erro:" . $ email-> errorInfo;
outro
eco "e -mail foi enviado.";

?>

Saída:

Quando você verifica o endereço de e -mail do receptor, o arquivo anexado será mostrado se o arquivo estiver anexado corretamente com o email, como mostrado abaixo:

Exemplo 4: Enviando um e -mail anexando um arquivo remoto

Se você deseja anexar conteúdo de um local remoto, você pode usar o addStringattachment () Método para esse fim. Este método tem dois parâmetros. O primeiro parâmetro é usado para obter conteúdo de um local de URL específico, e o segundo parâmetro é usado para definir o nome do arquivo anexado.

Addstringattachment (File_Get_Contents ($ url), 'Nome do arquivo.pdf ');

No script a seguir, o endereço da URL de um arquivo de imagem foi definido no primeiro parâmetro e “meu arquivo.jpg”Foi definido no segundo parâmetro deste método para definir o nome do arquivo anexado.

requer '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
requer '/usr/share/php/libphp-phpmailer/src/smtp.php ';
// declarar o objeto de phpmailer
$ email = new phpmailer \ phpmailer \ phpmailer ();
// Configure a configuração necessária para enviar email
$ email-> ISSMTP ();
$ email-> smtpauth = true;
$ email-> smtpsecure = 'ssl';
$ email-> host = "smtp.Gmail.com ";
$ email-> porta = 465;
$ email-> ishtml (true);
// Defina o endereço do Gmail que será usado para enviar e -mail
$ email-> nome de usuário = "nome de usuá[email protected] ";
// Defina a senha válida para o endereço do Gmail
$ email-> senha = "senha";
// Defina o endereço de e -mail do remetente
$ email-> setFrom ("[email protected] ");
// Defina o endereço de e -mail do receptor
$ email-> addaddress ("[email protected] ");
$ email-> addaddress ('[email protected] ');
$ email-> sujeito = 'mensagem enviada por phpmailer';
$ email-> corpo = 'Olá! Use Phpmailer para enviar email usando PHP ';
$ email-> addstringattachment (file_get_contents ('http: // localhost/phpcode/flor.jpg '),' myfile.jpg ');
se(!$ email-> send ())
eco "Erro:" . $ email-> errorInfo;
outro
eco "e -mail foi enviado.";

?>

Saída:

Quando você verifica o endereço de e -mail do receptor, o arquivo anexado será mostrado se o arquivo estiver anexado corretamente com o email, como mostrado abaixo:

Exemplo 5: Enviar e -mail com uma mensagem de depuração

A propriedade Smtpdebug da classe Phpmailer é usada para ativar a opção de depuração antes de enviar o email. Depois de executar o script, o valor desta propriedade foi definido como 1 neste script para exibir a mensagem de depuração.

requer '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
requer '/usr/share/php/libphp-phpmailer/src/smtp.php ';
// declarar o objeto de phpmailer
$ email = new phpmailer \ phpmailer \ phpmailer ();
// Ativar saída de depuração
$ email-> smtpdebug = 1;
// Configure a configuração necessária para enviar email
$ email-> ISSMTP ();
$ email-> smtpauth = true;
$ email-> smtpsecure = 'ssl';
$ email-> host = "smtp.Gmail.com ";
$ email-> porta = 465;
// Defina o endereço do Gmail que será usado para enviar e -mail
$ email-> nome de usuário = "nome de usuá[email protected] ";
// Defina a senha válida para o endereço do Gmail
$ email-> senha = "senha";
// Defina o endereço de e -mail do remetente
$ email-> setFrom ("[email protected] ");
// Defina o endereço de e -mail do receptor
$ email-> addaddress ("[email protected] ");
// defina o assunto
$ email-> sujeito = "Email de teste";
// Defina o conteúdo de email
$ email-> body = "Olá! Use Phpmailer para enviar email usando PHP ";
se(!$ email-> send ())
eco "Erro:" . $ email-> errorInfo;
outro
eco "e -mail foi enviado.";

?>

Exemplo 6: Enviando um email para vários endereços

A maneira de enviar um email para vários endereços de email usando o phpmailer foi mostrado no script a seguir. O addcc () e addbcc () Métodos desta classe foram usados ​​para enviar um email para vários receptores por vez.

requer '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
requer '/usr/share/php/libphp-phpmailer/src/smtp.php ';
// declarar o objeto de phpmailer
$ email = new phpmailer \ phpmailer \ phpmailer ();
// Configure a configuração necessária para enviar email
$ email-> ISSMTP ();
$ email-> smtpauth = true;
$ email-> smtpsecure = 'ssl';
$ email-> host = "smtp.Gmail.com ";
$ email-> porta = 465;
// Defina o endereço do Gmail que será usado para enviar e -mail
$ email-> nome de usuário = "nome de usuá[email protected] ";
// Defina a senha válida para o endereço do Gmail
$ email-> senha = "senha";
// Defina o endereço de e -mail do remetente
$ email-> setFrom ("[email protected] ");
// Defina os endereços de email do receptor
$ email-> addaddress ('[email protected] ',' Jafar Iqbal ');
$ email-> addaddress ('[email protected] ');
$ email-> addreplyto ('[email protected] ');
$ email-> addcc ('[email protected] ');
$ email-> addbcc ('[email protected] ');
// defina o assunto
$ email-> sujeito = "Email de teste";
// Defina o conteúdo de email
$ email-> body = "Olá! Use Phpmailer para enviar email usando PHP ";
se(!$ email-> send ())
eco "Erro:" . $ email-> errorInfo;
outro
eco "e -mail foi enviado.";

?>

Saída:

Se você verificar o endereço de e -mail do receptor, as seguintes informações serão mostradas:

Conclusão:

A maior parte das opções de envio de email usando a biblioteca Phpmailer foi discutida neste tutorial. Além disso, vários exemplos foram fornecidos para ajudar os usuários do PHP a aprender o processo de enviar e -mails facilmente usando esta biblioteca de maneiras diferentes. Esperamos que você tenha achado este artigo útil. Verifique os outros artigos de dica do Linux para obter mais dicas e informações.