Eu tenho tentado por 2 dias inteiros agora, e eu simplesmente não consigo fazer a coisa mais simples funcionar.
O problema: Enviar e-mails do PHP para o meu endereço de e-mail não funciona
Eu já trabalhei com Windows e Sendmail (o Sendmail estava dentro do pacote XAMPP) antes e estava tudo bem. O pacote XAMPP (1.7.7) para Linux não possui o Sendmail integrado. Então, depois de pesquisar um pouco, descobri que o Postfix se encaixa melhor em um ambiente LAMPP.
O que eu tentei até agora:
Instalei o Postfix e queria configurá-lo para usar apenas o servidor smtp do meu provedor de e-mail privado (como no Windows). Então, eu confoguei meu php.ini assim:
[mail function]
; For Win32 only.
;SMTP = localhost
;smtp_port = 25
; For Win32 only.
;sendmail_from = [email protected]
sendmail_path = /etc/postfix
mail.add_x_header = On
Observe que eu comentei o material "somente Win32". O /etc/postfix/main.cf aparece assim:
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
myhostname = ubuntu
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
sender_canonical_maps = hash:/etc/postfix/sender_canonical
mydestination = ubuntu, localhost.localdomain, localhost
relayhost = mail.gmx.net
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
/ etc / aliases permanece inalterado:
# Required aliases
postmaster: root
MAILER-DAEMON: postmaster
# Common aliases
abuse: postmaster
spam: postmaster
/ etc / postfix / sasl_password :
my.providers.smtp my_login:my_password
/ etc / postfic / sender_canonical:
postmaster [email protected]
O que acontece:
Então quando eu faço
> sudo /etc/init.d/postfix start
tudo parece funcionar bem e o /var/log/mail.log diz: "ubuntu postfix / master [9720]: daemon iniciado - versão 2.8.5, configuração / etc / postfix"
Mas quando executo meu script PHP (que funcionou bem com o Windows e o Sendmail), ele é executado e nada acontece, nem mesmo um erro é registrado.
O que eu realmente quero alcançar:
Estou trabalhando localmente em um site de comércio eletrônico. Ele funciona bem no servidor da web dedicado, mas também quero executá-lo localmente por razões óbvias. Em alguns casos, ele envia e-mails e eu só quero recebê-los com o Thunderbird ou de qualquer outra forma. Está usando um exagero do Postfix aqui? Não preciso receber e-mails - só quero tornar os e-mails visíveis de alguma forma. Não consegui encontrar nenhum tutorial passo a passo útil para esse problema (nem sobre o Senmail nem o Postfix - mas, para ser sincero, sou muito novo no Linux).
sendmail_path = "/usr/sbin/sendmail -t -i"
Para enviar email do host local (WAMP, XAMP ou LAMP), você pode usar o pacote PHPMailer
Esta será a mesma instrução fornecida no arquivo leia-me.
WAMP (janelas):
Primeiro você tem que editar o "php.ini". Para encontrar este arquivo, exiba o phpinfo usando o seguinte código do servidor WAMP. Crie um arquivo php [setting.php] dentro de C: / wamp / www / e adicione o seguinte conteúdo a esse arquivo.
Digite localhost / setting.php no navegador. Procure por "Arquivo de configuração carregado". Esse será o caminho para o seu php.ini .
No arquivo php.ini remova o; (ponto e vírgula) fornecido para `extension = php_openssl.dll. Agora a configuração do servidor acabou ...
LAMP (Linux):
No caso do linux, não há necessidade de editar o arquivo php.ini como expliquei o primeiro ponto no WAMP.
Mais uma alteração é o projeto ou a pasta raiz do documento é diferente.
fonte
Para enviar email (com pacote sendmail) através do Gmail a partir do localhost, verifique PHP + Ubuntu Enviar email usando o formulário do gmail localhost é possível outra resposta.
fonte