Configurando email para localhost

0

Estou tentando testar algum código da Web e estou executando-o no host local. Como se configura o e-mail para o localhost para que o código possa usar as funções da mensagem php para enviar e-mails?

Se eu precisar de algum espaço hospedado na Web em algum lugar e usar esse servidor de e-mail para enviar por e-mail do host local, como configurarei isso?

    
por jarryd 09.06.2012 / 18:22

1 resposta

1

O Mac OS X 10.5 e o 10.6 vêm com um programa de envio de e-mail chamado postfix , mas ele não está ativado por padrão. Isso pode funcionar com 10.7, mas eu não olhei para isso.

Se você quiser apenas enviar todos os seus e-mails enviados para algum servidor de retransmissão, como o servidor SMTP do seu provedor de serviços de Internet, geralmente é necessário ter um nome de host para o computador que está enviando o e-mail. Essa configuração é para um servidor que não está sendo usado para receber mensagens.

Abra o Terminal e digite os seguintes comandos, cada um em uma única linha. Após o primeiro comando, você será solicitado a fornecer sua senha. (Oh, você precisa estar logado como um usuário com privilégios administrativos.)

Primeiro, você deseja definir postfix para ser executado quando seu computador tentar enviar e-mails:

% sudo launchctl unload /System/Library/LaunchDaemons/org.postfix.master.plist
% sudo defaults write /System/Library/LaunchDaemons/org.postfix.master OnDemand -bool true
% sudo launchctl load /System/Library/LaunchDaemons/org.postfix.master.plist

Em seguida, você quer dizer a postfix qual é o nome do host do computador:

% sudo postconf -e myhostname=<host-name-of-computer>

Em seguida, diga postfix qual servidor SMTP usar para enviar e-mail:

% sudo postconf -e relayhost=<your-isp's-smtp-server>

Isso funciona para mim porque o meu ISP não requer autenticação para usar seu servidor SMTP. Eles só exigem que o tráfego seja proveniente de sua rede.

Se o servidor SMTP que você está usando exigir autenticação, há algumas etapas extras:

% sudo echo <you-isp's-smtp-server> <username>:<password> >> /etc/postfix/sasl_passwd
% sudo postconf -e smtp_sasl_auth_enable=yes
% sudo postconf -e smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd

Neste ponto, se postfix tentar enviar e-mail para someone@<host-name-of-computer> , o e-mail será enviado localmente. Se o seu e-mail para esse nome de host for manipulado por algum outro servidor, informe postfix que esse não é o destino final do e-mail enviado para esse nome de host:

% sudo postconf -e mydestination=localhost

Eu usei o seguinte especificamente para o meu ambiente:

% sudo postconf -e myhostname=subtlecoolness.com
% sudo postconf -e relayhost=smtp-server.austin.rr.com

Lá! Agora você deve estar executando postfix e seu servidor da Web enviará e-mails!

(Eu escrevi uma postagem no blog sobre isso há muito tempo.)

    
por 09.06.2012 / 18:33