Para enviar emails utilizando PHP dispomos de uma função bastante potente, inclusa em todas as versões do PHP, sem a necessidade de instalar mais nada, em contra do que acontecia com ASP.
Em concreto, em PHP dispomos de uma função chamada mail() que permite configurar e enviar mensagens de correio. A função chama-se mail() e recebe três parâmetros obrigatórios e dois opcionais. Retorna true se o mail se enviou com êxito e false em caso contrario.
Parâmetros necessários em todos os casos
Destinatário: o endereço de correio ou endereços de correio que vão receber a mensagem. Se incluirmos vários endereços devemos separa-las por uma virgula.
Assunto: para indicar uma cadeia de caracteres que queremos que seja o assunto do correio electrónico a enviar.
Corpo: o corpo da mensagem, o que queremos que tenha escrito o correio.
Exemplo de envío de um mail simples
mail("ze@criarweb.com,maria@criarweb.com","assunto","Este é o corpo da mensagem")
?>
Parámetros opcionais do envio de correio
Headers: Cabeçalhos do correio. Dados como o endereço de resposta, os possíveis endereços que receberão copia da mensagem, os endereços que receberão cópia oculta, se o correio está em formato HTML, etc.
Additional_parameters: esta opção não costuma utilizar-se e só está disponível a partir da versão 4.0.5 e desde PHP 4.2.3 está desabilitado em modo seguro. Pode usar-se para passar parâmetros adicionais ao programa configurado para enviar o correio, quando se manda o mail usando a opção de configuração sendmail_path. Podemos obter mais informação na documentação de PHP para a função mail().
Exemplo complexo de envio de correio
Vamos enviar um correio com formato HTML a
[email protected], com cópia a
[email protected] e com uma cópia oculta para
[email protected] e
[email protected]. O endereço de resposta será configurado a
[email protected].
$destinatario = "ze@criarweb.com";
$assunto = "Esta mensagem é um teste";
$corpo = '
Teste de correio
Olá amigos!
Bem-vindos ao meu correio electrónico de teste. Estou contente de ter tantos leitores.
';
//para o envio em formato HTML
$headers = "MIME-Version: 1.0
";
$headers .= "Content-type: text/html;
charset=iso-8859-1
";
//endereço do remitente
$headers .= "From: Xuxé
";
//endereço de resposta, se queremos que seja diferente a do remitente
$headers .= "Reply-To: [email protected]
";
//endereços que receberão uma copia $headers .= "Cc: [email protected]
";
//endereços que receberão uma copia oculta
$headers .= "Bcc: [email protected],[email protected]
";
mail($destinatario,$assunto,$corpo,$headers)
?>
Nota: Antes de pôr em funcionamento o script no vosso servidor, por favor, mudem os dados das configurações dos endereços de correio que vão receber a mensagem e coloquem uns endereços que sejam vossos e onde possam verificar se as mensagens se enviaram corretamente.
Conclusão e download
Pensamos e esperamos que depois deste artigo compartam a nossa opinião, que o envio de mails em PHP é uma tarefa simples. É de muito agradecer que todas as versões de PHP incluam uma função para o envio de mails.
Nota: Para o envio de correio através de PHP é necessário que este tenha uma correta configuração.
Se a nossa web está num servidor de um provedor de hosting provavelmente já tenham configurado o PHP para o envio de mails. Se estamos a trabalhar desde um servidor próprio, temos de configurar PHP.
PHP configura-se editando o ficheiro php.ini onde devemos especificar dados como o servidor de correio de saída que deve utilizar PHP para transferir as mensagens.
Dentro do php.ini, devemos procurar o epigrafe [mail function]. Dependendo do nosso sistema deveremos configura-lo de uma maneira ou de outra.
Em sistemas Windows encontraremos o php.ini no directório windows ou dentro deste, no subdirectório system32 ou similar. Neste sistema deveremos indicar o domínio do servidor de smtp, algo parecido a smtp.meudominio.com. Se é o PC local o que faz de servidor, poderemos por "localhost" como máquina que enviará o correio. Também podemos especificar o endereço desde donde queremos que pareça que se envia a mensagem no caso de que não se indique outra durante o envio.
Todos os direitos reservados a Miguel Angel Alvarez (www.criarweb.com)