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.

Shishant
fonte

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 = "[email protected]"
sendmail_path = "/usr/sbin/sendmail -t -i -f [email protected]"

Mude [email protected] 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).

Darren Cook
fonte
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 [email protected]"
SliQ
11
Finalmente! Uma solução direta e simples. Funciona no Ubuntu 14.04.
Knyri
2

Você precisará configurar o servidor ubuntu para poder enviar e-mails ... como exemplo, você pode instalar e configurar o postfix.

A documentação do Ubuntu tem uma boa página em https://help.ubuntu.com/community/MailServer

Dominik
fonte
qualquer tutorial que você pode me ligar?
Shishant 03/03
adicionou um link de tutorial
Dominik
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.


fonte
0

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

Prof. Falken
fonte