Estou tentando enviar email do localhost. mas não consigo enviar o email do localhost, alguém pode me dizer como reconfigurar meu xampp para enviar email do localhost
Estou tentando enviar email do localhost. mas não consigo enviar o email do localhost, alguém pode me dizer como reconfigurar meu xampp para enviar email do localhost
Respostas:
Você pode enviar email do host local com o pacote sendmail, o pacote sendmail está embutido no XAMPP. Portanto, se você estiver usando o XAMPP, poderá enviar facilmente emails do localhost.
por exemplo, você pode configurar C:\xampp\php\php.ini
e o c:\xampp\sendmail\sendmail.ini
gmail enviar e-mail.
na C:\xampp\php\php.ini
descoberta extension=php_openssl.dll
e remover o ponto e vírgula a partir do início dessa linha para fazer SSL trabalhando para gmail para localhost.
no arquivo php.ini encontre [mail function]
e altere
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = my-gmail-id@gmail.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
Agora aberto C:\xampp\sendmail\sendmail.ini
. Substitua todo o código existente no sendmail.ini pelo seguinte código
[sendmail]
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=my-gmail-id@gmail.com
auth_password=my-gmail-password
force_sender=my-gmail-id@gmail.com
Agora você já fez !! crie um arquivo php com a função mail e envie um email do localhost.
PS: não se esqueça de substituir my-gmail-id e my-gmail-password no código acima. Além disso, não se esqueça de remover chaves duplicadas se você copiou as configurações de cima. Por exemplo, comente a seguinte linha se houver outro sendmail_path : sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
no arquivo php.ini
Lembre-se também de reiniciar o servidor usando o painel de controle XAMMP para que as alterações entrem em vigor.
Para o gmail, verifique https://support.google.com/accounts/answer/6010255 para permitir o acesso de aplicativos menos seguros.
Para enviar email no Linux (com pacote sendmail) através do Gmail a partir do localhost, verifique PHP + Ubuntu Enviar email usando o formulário do gmail localhost .
No XAMPP v3.2.1 para fins de teste, você pode ver os emails que o XAMPP envia no XAMPP / mailoutput. No meu caso no Windows 8, isso não exigiu nenhuma configuração adicional e foi uma solução simples para testar o email
c:\xampp\php\php.ini
, procure [mail function]
e descomente a linha mencionada mailtodisk.exe
. Mantenha todas as outras linhas desta seção comentadas, exceto mail.add_x_header
aquela.
sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
É muito simples enviar e-mails no host local ou servidor local
Nota: Estou usando o software de servidor de email de teste no Windows 7 64bit com o Xampp instalado
Basta baixar a ferramenta de servidor de correio de teste e instalar de acordo com as instruções fornecidas em seu site Test Mail Server Tool
Agora você precisa alterar apenas duas linhas no php.ini
arquivo
[mail function]
e remova ponto e vírgula anterior;smtp = localhost
sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"
Você não precisa alterar mais nada, mas se ainda não receber e-mails, verifique SMTP port
o número da porta.
O método acima é para as configurações padrão fornecidas pelo software Xampp.
você deve usar o Papercut neste aplicativo simples para testar o envio de e-mail. e você não precisa configurar nada.
Basta executá-lo e tentar testar o envio de email:
test_sendmail.php
<?php
$to = "somebody@example.com";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: webmaster@example.com" . "\r\n" .
"CC: somebodyelse@example.com";
mail($to,$subject,$txt,$headers);
?>
e você verá isso:
Espero que você tenha um bom dia. você pode me encontrar no Youtube para mais tutoriais Piseth Sok
Elogio!
Você precisa configurar o SMTP no seu servidor. Você pode usar o SMTP do G Suite do Google gratuitamente:
<?php
$mail = new PHPMailer(true);
// Send mail using Gmail
if($send_using_gmail){
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "your-gmail-account@gmail.com"; // GMAIL username
$mail->Password = "your-gmail-password"; // GMAIL password
}
// Typical mail data
$mail->AddAddress($email, $name);
$mail->SetFrom($email_from, $name_from);
$mail->Subject = "My Subject";
$mail->Body = "Mail contents";
try{
$mail->Send();
echo "Success!";
} catch(Exception $e){
// Something went bad
echo "Fail :(";
}
?>
Leia mais PHPMailer
aqui .
Como em minha experiência pessoal, descobri que algo muito semelhante à resposta de Vikas Dwivedi funcionará perfeitamente.
Etapa 1 (arquivo php.ini)
No arquivo php.ini localizado em xampp\php\php.ini
. Altere as configurações para o seguinte:
extension=php_openssl.dll
[mail function]
sendmail_path =":\xampp7\sendmail\sendmail.exe -t"
mail.add_x_header=On
Desative outras variáveis mail funciton
colocando-as ;
antes delas. por exemplo;smtp_port=25
Etapa 2 (arquivo sendmail.ini)
No sendmail.ini localizado em xampp \ sendmail \ semdmail.ini, mude para o seguinte:
smtp_server=smtp.gmail.com
smtp_port=465
smtp_ssl=auto
auth_username=address@gmail.com
auth_password=YourPassword
Etapa 3 (código)
Crie um arquivo php e use o seguinte:
<?php
mail($to, "subject", "body", "From: ".$from);
?>
Aviso prévio
Este código é usado para o correio do seu host local XAMPP e sua conta do Gmail. Este código é muito fácil e funciona para mim tentar você mesmo.
Abaixo a alteração no arquivo php.ini
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = your@gmail.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
extension=php_openssl.dll
Abaixo a alteração no arquivo sendmail.ini
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=yourmail@gmail.com
auth_password=your-gmail-password
force_sender=yourmail@gmail.com
Por favor, escreva o código abaixo no seu arquivo PHP para enviar um email
<?php
$to = "tomail@gmail.com";
$subject = "Test Mail";
$headers = "From: from_mail@gmail.com\r\n";
$headers .= "Reply-To: replytomail@gmail.com\r\n";
$headers .= "CC: theassassin.edu@gmail.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = '<html><body>';
$message .= '<img src="//css-tricks.com/examples/WebsiteChangeRequestForm/images/wcrf-header.png" alt="Website Change Request" />';
$message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
$message .= "<tr style='background: #eee;'><td><strong>Name:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>Email:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>Type of Change:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>Urgency:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>URL To Change (main):</strong> </td><td>Details</td></tr>";
$addURLS = 'google.com';
if (($addURLS) != '') {
$message .= "<tr><td><strong>URL To Change (additional):</strong> </td><td>" . $addURLS . "</td></tr>";
}
$curText = 'dummy text';
if (($curText) != '') {
$message .= "<tr><td><strong>CURRENT Content:</strong> </td><td>" . $curText . "</td></tr>";
}
$message .= "<tr><td><strong>NEW Content:</strong> </td><td>New Text</td></tr>";
$message .= "</table>";
$message .= "</body></html>";
if(mail($to,$subject,$message,$headers))
{
echo "Mail Send Sucuceed";
}
else{
echo "Mail Send Failed";
}
?>
Você precisa definir um SMTP
servidor e uma porta para isso. Todos, exceto como enviar e-mails de hosts ativos.
Este é um link útil sobre isso .
Nota: a porta não deve ser utilizada. Por favor, cuide para que, alguns aplicativos
Skype
usem as portas padrão e evite o envio de email.
passou mais de uma hora tentando fazer isso funcionar. para todos que têm o mesmo problema com todas as sugestões postadas não funcionando: você precisa reiniciar o Apache em sua interface do XAMPP! apenas reiniciar o XAMPP não funcionará !!
Tentei várias maneiras de enviar um email do XAMPP Localhost, mas como o XAMPP não possui certificado SSL, minha solicitação de email foi bloqueada pelo Gmail ou por provedores de serviços SMTP semelhantes.
Então eu usei o MailHog para o servidor SMTP local, o que você precisa fazer é apenas executá-lo. localhost: 1025 é para servidor smtp, localhost: 8025 é para servidor de correio, onde você pode verificar os e-mails que enviou.
aqui está o meu código:
require_once "src/PHPMailer.php";
require_once "src/SMTP.php";
require_once "src/Exception.php";
$mail = new PHPMailer\PHPMailer\PHPMailer();
//Server settings
$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->isSMTP(); // Send using SMTP
$mail->Host = 'localhost'; // Set the SMTP server to send through
$mail->Port = 1025; // TCP port to connect to
// $mail->Username = ''; // SMTP username
// $mail->Password = ''; // SMTP password
// $mail->SMTPAuth = true; // Enable SMTP authentication
// $mail->SMTPSecure = 'tls'; // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` also accepted
//Recipients
$mail->setFrom('testtoo@testto.com', 'Mailer');
$mail->addAddress('testtoo@webbamail.com', 'Joe User'); // Add a recipient
// Content
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
além de todas as respostas, observe que no sendmail.ini
arquivo:
auth_password = essa não é sua senha do Gmail
devido a uma nova preocupação de segurança do google, siga estas etapas para criar uma senha de aplicativo para este fim: