Olá a todos, preciso implementar um serviço que envie lembretes aos usuários por e-mail, este deve ser um sistema agendado multithread, esta parte está correta, mas preciso instalar e configurar o servidor smtp para enviar e-mails no servidor, não tenho ideia de como fazer fazer e o que esperar que minhas ferramentas sejam lamp combo em alguma fatia do Linux (acho que ubuntu).
Responder1
A instalação é muito específica da distribuição, porque existem maneiras recomendadas pela distribuição de instalar software. É muito raro hoje em dia que eu recomende alguém instalar o Postfix por fonte em qualquer distribuição Linux.
Com o Ubuntu, use o apt-get.
$ sudo apt-get install postfix
Isso instalará o postfix em seu servidor Ubuntu, e a configuração a partir de então será deixada para você. Meu conselho é canalizar os e-mails para o binário sendmail (geralmente em /usr/sbin/sendmail), que manterá os e-mails em uma fila se o sistema Postfix estiver inativo. Se você usar SMTP e se conectar à porta 25, se o seu servidor de e-mail precisar ficar inativo para alguma manutenção, seu aplicativo precisará manter sua própria fila de e-mails ou correrá o risco de o e-mail não ser entregue.
Responder2
Instale o Postfix, seguindo as instruções emPostfix.org
Responder3
Você também pode instalar o exim4, que, embora mais complicado para configurações difíceis (devido à invasão do Debian), é muito mais fácil de configurar para encaminhar mensagens. apenas apt-get install exim4 e, se necessário, dpkg-reconfigure exim4-config.
Responder4
O Postfix não é tão difícil de se diferenciar do código-fonte se você já compilou/compilou o código-fonte antes.
Usamos mailx para enviar e-mails de saída e conversas mailx para um servidor SMTP postfix para o ponto de retransmissão real.
Além disso, quando você tiver um servidor Postfix instalado e funcionando, outros servidores externos poderão referenciá-lo para retransmissão de e-mail.
Usamos um processo de construção com script para construir o Postfix em nossa distribuição Linux (Pozix Linux).
Aqui está o comando que usamos para construir arquivos make do Postfix:
make makefiles 'CCARGS=-DHAS_PGSQL -DUSE_TLS -I/usr/local/pgsql-8.2.13/include -DUSE_CYRUS_SASL -DUSE_SASL_AUTH -I/usr/include/sasl -I/usr/local/BerkeleyDB/include' 'AUXLIBS=- L/usr/local/lib -L/usr/local/pgsql-8.2.13/lib -L/usr/local/BerkeleyDB/lib -lpq -lsasl2 -lz -lm -lssl -lcrypto -lpthread'
Você pode ajustar isso às suas necessidades. Como usamos PostgreSQL, temos: -L/usr/local/pgsql-8.2.13/lib -lpq
Você pode eliminá-los se não precisar do suporte do PostgreSQL; da mesma forma para SASL e TLS.
Depois que este comando for executado,
make install (para nova instalação) make upgrade (para atualizar uma versão anterior)
Para que o mailx funcione, normalmente temos um trabalho CRON que chama um script como root.
O script, por sua vez, chama mailx.
MAILX usa um arquivo .rc para ler variáveis de ambiente e como estamos chamando mailx como usuário root, precisamos colocar um arquivo chamado '.mailrc' no diretório inicial do root.
O conteúdo de .mailrc é o seguinte:
definir[e-mail protegido] definir smtp=mail.meudominio.com definir[e-mail protegido] set smtp-auth-password=alertspassword set smtp-auth=login
Então, em nossos scripts, invocamos mailx assim:
echo "Mensagem de teste" | mailx"[e-mail protegido] [e-mail protegido]" -s "Assunto do email" "Corpo do email"
ou você poderia fazer isso:
mailx -s "assunto" -a /caminho/para/algum/arquivo[e-mail protegido]
onde -a permite anexar um arquivo e test.msg é um arquivo externo para ler no corpo do email.
ou outra forma, semelhante à primeira com anexo de arquivo, é:
echo "Corpo da mensagem" | mailx -s "assunto" -a /caminho/para/algum/arquivo[e-mail protegido]