Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou estudando um livro sobre PHP que me ensina a enviar uma mensagem de e-mail via PHP. O código não contém erros de sintaxe, mas não está funcionando, porque a mensagem de e-mail não chega na minha caixa de entradas. No livro, diz que caso haja erros durante o envio, eu precisaria configurar o PHP no meu servidor web, no meu caso, em localhost, para que ele saiba como enviar e-mails, porque o suporte a e-mails pode não estar corretamente configurado. Vou colar o código aqui:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Aliens Abducted Me - Report an Abduction</title>
</head>
<body>
<h2>Aliens Abducted Me - Report an Abduction</h2>
<?php
$name = $_POST['firstname'] . ' ' . $_POST['lastname'];
$when_it_happened = $_POST['whenithappened'];
$how_long = $_POST['howlong'];
$how_many = $_POST['howmany'];
$alien_description = $_POST['aliendescription'];
$what_they_did = $_POST['whattheydid'];
$fang_spotted = $_POST['fangspotted'];
$email = $_POST['email'];
$other = $_POST['other'];
$to = 'elbiagione@terra.com.br'; //Meu endereço de e-mail pessoal
$subject = 'Aliens Abducted Me - Abduction Report';
$msg = "$name was abducted $when_it_happened and was gone for $how_long.\n" .
"Number of aliens: $how_many\n" .
"Alien description: $alien_description\n" .
"What they did: $what_they_did\n" .
"Fang spotted: $fang_spotted\n" .
"Other comments: $other";
mail($to, $subject, $msg, 'From:' . $email);
echo 'Thanks for submitting the form.<br />';
echo 'You were abducted ' . $when_it_happened;
echo ' and were gone for ' . $how_long . '<br />';
echo 'Number of aliens: ' . $how_many . '<br />';
echo 'Describe them: ' . $alien_description . '<br />';
echo 'The aliens did this: ' . $what_they_did . '<br />';
echo 'Was Fang there? ' . $fang_spotted . '<br />';
echo 'Other comments: ' . $other . '<br />';
echo 'Your email address is ' . $email;
?>
</body>
</html>Não é apenas em servidores online. Mas qualquer servidor, local ou remoto com Sistemas Linux/*nix com Sendmail habilitado.
A função mail() por isso só não faz nada. Esse daemon é quem faz tudo.
Mas acalmem-se escravos usuários Windows, existe uma solução para vocês também.
Não existe um meio mais fácil, não?
Essa solução para Windows não funcionou.
>
Não existe um meio mais fácil, não?
Essa solução para Windows não funcionou.
Eu usei há muito tempo atrás e funcionou direitinho. Só é meio chato de configurar (a ajuda não é lá aquelas coisas).
Hoje não tenho mais um caso de uso para a função mail() para testar novamente.
>
Eu usei há muito tempo atrás e funcionou direitinho. Só é meio chato de configurar (a ajuda não é lá aquelas coisas).
Hoje não tenho mais um caso de uso para a função mail() para testar novamente.
Para qual pasta eu copio todos os arquivos?
Só em servidor online, pois você precisa de um servidor SMTP, o que no caso não possui os programas de servidores online.
Acho que você pode configurar seu SMTP do Apache com o gmail, não sei.