Configure o servidor ubuntu para enviar email ()


40

Eu tentei pesquisar muito, mas não consegui descobrir como realmente configurar um servidor ubuntu, para que eu possa enviar e-mails através do php usando a função mail () no php.

Eu tenho apache2, mysql e php5 instalados no meu servidor.

Obrigado.

Respostas:


45

Também concordo que há uma falta de tutoriais para pessoas que precisam apenas de um script para enviar, por exemplo, emails de erro e não precisam de um servidor de email completo.

Primeiro, se o postfix ainda não estiver instalado, faça:

sudo apt-get install postfix

Ele solicita algumas perguntas. Para o primeiro eu escolhi "site da Internet"; para uma máquina atrás de um firewall, eu poderia escolher o smarthost. Para a segunda pergunta, o padrão é o nome da máquina; Anexei um nome de domínio que eu controle (para que eu possa definir o DNS posteriormente, caso seja necessário).

Neste ponto, você poderá usar "mail" na linha de comando para enviar um teste. (Geralmente eu sigo as instruções em http://ubuntuforums.org/showthread.php?t=38429 primeiro, caso contrário, tenho que usar o -fsinalizador para /usr/bin/sendmail. Também gosto de criar /etc/aliasesentradas para root e meu usuário normal e depois executar newaliases)

Em /etc/php5/conf.d, crie um arquivo (por exemplo, mailconfig.ini) com este conteúdo:

sendmail_from = "me@example.com"
sendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"

Mude me@example.com para o seu endereço de email. Eles significam que todos os emails parecerão enviados por você, o que pode ajudar a evitar que sejam rejeitados. Isso é suficiente apenas para enviar e-mails de erro a um desenvolvedor.

(As instruções acima testadas no Ubuntu 10.04, 11.04, 11.10, 12.04)

PS Como apontado por razzed nos comentários, mailnem sempre está lá (por exemplo, no Ubuntu 11.10 está faltando). Na verdade, isso não afeta as instruções acima, você só precisa maildo teste e também pode usá- sendmaillo. Mas mailtambém é útil para ler e-mails, por isso geralmente vale a pena instalá-lo, com: apt-get install mailutils(como root).


11
Obrigado! Isso funcionou perfeitamente. Testado no Ubuntu 12.04 LTS x64.
perfil completo de Trent Scott

Isso resolve encontrar usando o NGINX também! E PHP5-FPM
TheBlackBenzKid

11
Observe no meu host que o mailutilitário de linha de comando não está instalado em uma instalação limpa do Ubuntu e a instalação do PostFix não o instala. Tente sudo apt-get install mailutilsobter o mailcomando ou use alternativas como Mutt, oussmtp
digitou

Eu precisava de semanas para descobrir que o behinde coisas sendmail_pathtem que estar em "ao trabalho corretamente, comosendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"
SliQ

11
Finalmente! Uma solução direta e simples. Funciona no Ubuntu 14.04.
Knyri


1

Passe pelo doloroso processo de configurar um servidor de email diretamente no seu servidor (postfix, etc) ou use uma biblioteca que permita a conexão direta com um servidor smtp.


0

Você deve primeiro instalar o pacote xmail e, se ainda não funcionar, dê uma olhada aqui .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.