Como configurar o XAMPP para enviar email do host local?
255
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
Impossível ajudar se você não nos fornecer a configuração atual.
Arkascha 12/04/2013
1
Isso ainda é relevante com o Mercury incluído (ApacheFriends XAMPP 1.8.2)? Eu acho que sim, mas se houver pessoas preferindo Mercúrio, indique abaixo. :) Obrigado!
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.inie o c:\xampp\sendmail\sendmail.inigmail enviar e-mail.
na C:\xampp\php\php.inidescoberta extension=php_openssl.dlle 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
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.
diferente das configurações acima, eu precisava atualizar meu sendmail glob.com.au/sendmail
kaz
1
Eu tive que atualizar do XAMMP 1.7.7 para 2.8.2.3 - o sendmail está incluído no XAMPP mais recente. Eu tentei usar um sendmail mais recente com 1.7.7 há alguns meses atrás e não consegui fazê-lo funcionar - finalmente mordi a bala e usei o novo XAMPP e ele funciona como descrito.
VanAlbert
2
Acredito que a localização C: \ xampp \ php \ php.ini se refira a ambientes Windows. Para mac, procure xamppfiles / etc no seu arquivo php.ini.
Paul Trotter
3
@Vikas resposta foi melhor, mas por favor note que a utilização do SSL padrão no smtp_port pode não funcionar em determinada condição, utilizando 465 como resposta murugan Thirumalai declarou na verdade fixa-lo para mim
Temitayo
2
Está funcionando perfeitamente com o XAMPP versão 7.0.15. Não se esqueça de remover o ponto-e-vírgula e fazer o login com o mesmo ID do Gmail que você configurou. Acesse o link abaixo myaccount.google.com/lesssecureapps?pli=1 e permitir aplicações menos seguras: ON Agora você pode enviar o email diretamente do XAMPP localhost
raftaar1191
35
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
E se isso não estiver funcionando, verifique 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_headeraquela.
Tim Malone
3
Como um complemento ao meu comentário acima, para as versões mais recentes do XAMPP, pode ser necessário adicionar manualmente a linha mailtodisk. Deve ser algo como isto:sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
Tim Malone
Um adendo adicional para comentar de @TimMalone. Eu achei que o correio só seria escrito para XAMPP / mailoutput se executando XAMPP como admin
sohail
@sohail: Você não tem que correr XAMPP como admin mas você tem que dar permissão para todos os usuários de escrever para a pasta XAMPP / mailoutput (clique direito sobre pasta> Segurança> todos os usuários> Editar permissões> acesso completo)
cheppsn
@TimMalone Eu apliquei as duas sugestões, mas nada no diretório mailoutput mesmo depois de tantas tentativas
Vipul Hadiya
25
É 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.iniarquivo
Encontre [mail function]e remova ponto e vírgula anterior;smtp = localhost
Coloque o ponto e vírgula antes sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"
Você não precisa alterar mais nada, mas se ainda não receber e-mails, verifique SMTP porto número da porta.
O método acima é para as configurações padrão fornecidas pelo software Xampp.
Esta é realmente uma ótima solução, rápida e fácil, e posso começar a trabalhar diretamente. Recolher os servidores de correio localmente é um aborrecimento quando é apenas para desenvolvedores.
AdheneManx
1
Obrigado, eu usei isso para testar meu projeto também.
Piseth Sok
19
Você precisa configurar o SMTP no seu servidor. Você pode usar o SMTP do G Suite do Google gratuitamente:
<?php
$mail =newPHPMailer(true);// Send mail using Gmailif($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="[email protected]";// 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 :(";}?>
@Vikas resposta foi melhor, mas por favor note que a utilização do SSL padrão no smtp_port pode não funcionar em determinada condição, utilizando 465 como esta resposta tem afirmado realmente fixa-lo para mim
Temitayo
Eu usei a resposta @Vikas, mas usei um fragmento seu, ou seja, usando 465 como emtp_port. O bom trabalho de qualquer maneira
Temitayo
Erro fatal: Classe 'PHPMailer' não encontrada em C: \ xampp \ htdocs \ myweb \ email_script.php na linha 82
Shafizadeh
7
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:
Você pode evitar skype de usar a porta 80. seu sobre as configurações de conexão de skype
astroanu
0
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 =newPHPMailer\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('[email protected]','Mailer');
$mail->addAddress('[email protected]','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!";}
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 oc:\xampp\sendmail\sendmail.ini
gmail enviar e-mail.na
C:\xampp\php\php.ini
descobertaextension=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 altereAgora aberto
C:\xampp\sendmail\sendmail.ini
. Substitua todo o código existente no sendmail.ini pelo seguinte códigoAgora 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.iniLembre-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.
fonte
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
fonte
c:\xampp\php\php.ini
, procure[mail function]
e descomente a linha mencionadamailtodisk.exe
. Mantenha todas as outras linhas desta seção comentadas, excetomail.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.
fonte
Você pode testar o envio de email no seu PC sem Internet
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
e você verá isso:
Espero que você tenha um bom dia. você pode me encontrar no Youtube para mais tutoriais Piseth Sok
Elogio!
fonte
Você precisa configurar o SMTP no seu servidor. Você pode usar o SMTP do G Suite do Google gratuitamente:
Leia mais
PHPMailer
aqui .fonte
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: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:
Etapa 3 (código)
Crie um arquivo php e use o seguinte:
Aviso prévio
fonte
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
Abaixo a alteração no arquivo sendmail.ini
Por favor, escreva o código abaixo no seu arquivo PHP para enviar um email
fonte
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 .
fonte
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á !!
fonte
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:
Link do Repositório do MailHog Github
fonte
além de todas as respostas, observe que no
sendmail.ini
arquivo:devido a uma nova preocupação de segurança do google, siga estas etapas para criar uma senha de aplicativo para este fim:
fonte