Como configuro o sendmail, postfix ou dovecot para que o perl possa enviar emails?

3

Pergunta direta : desejo ativar o Perl para enviar e-mails. Que pacote (s) devo instalar para configurar um servidor de e-mail simplista: sem necessidade de entrada, somente de saída . Posso encaminhar através do SMTP do Gmail, se é melhor?

Background : Sou programador com um script de compilação noturno escrito em Perl. Eu gostaria de enviar por e-mail os resultados das minhas compilações noturnas (especialmente se houver um erro).

Eu li sobre o pacote perl Mail::Sendmail brevemente, mas se alguma outra coisa for mais apropriada, por favor me diga !!

Eu tentei o simples aptget install sendmail , mas isso não parece funcionar. Eu recebo os seguintes erros:

Servidor disse: 421 4.3.0 coletar: Não é possível escrever ./dfp1PFXl7W020719 (bfcommit, uid = 0, gid = 120): Nenhum arquivo ou diretório erro de transmissão de mensagem (421 4.3.0 coletar: Não é possível gravar ./dfp1PFXl7W020719 (bfcommit, uid = 0, gid = 120): Nenhum arquivo ou diretório ) Servidor disse: 421 4.3.0 recolher: Não é possível escrever ./dfp1PFXl7W020719 (bfcommit, uid = 0, gid = 120): Nenhum tal arquivo ou diretório

Eu pesquisei este problema um pouco e tentei algumas coisas - adicionando meu nome de usuário a / etc / mail / trusted-users e tal, mas sem sucesso.

Em outras palavras, eu ficaria muito grato se você pudesse fornecer instruções simples para configurar um servidor de correio de saída. Eu realmente não entendo os detalhes, mas pelo que entendi, eu preciso encaminhar o e-mail através de um servidor SMTP existente - para que eu possa usar minha conta do Gmail, se necessário (é para isso que eu quero enviar os logs). Qualquer sugestão seria muito apreciada.

    
por M. Tibbits 25.02.2011 / 16:42

5 respostas

2

Você também pode ver o Net :: SMTP, que permite enviar mensagens SMTP sem a necessidade de programas externos, como o sendmail. Isso pode ser um pouco fora do tópico para o Ask Ubuntu, pois é uma solução Perl pura, mas você pode achar que é preferível. Net :: SMTP é fornecido pelo pacote perl-modules, que deve ser instalado por padrão.

    
por user8979 26.02.2011 / 13:16
3

Todos eles são ferramentas demais para o trabalho. ssmtp faz isso - mas só isso.

sudo apt-get install ssmtp

(Isso removerá o postfix ou sendmail se instalado).

sudoedit /etc/ssmtp/ssmtp.conf

E o conteúdo desse arquivo:

[email protected]
Mailhub=smtp.gmail.com:465
RewriteDomain=gmail.com
AuthUser=your_gmail_username # (before the @gmail.com part)
AuthPass=your_gmail_password
FromLineOverride=Yes
UseTLS=Yes
    
por user8290 25.02.2011 / 20:39
3

Eu ainda mantenho que o dovecot-postfix é fácil de instalar e configurar.
Eu tenho mais alguns detalhes em minha resposta para Existe um correio simples -servidor que posso instalar?

Lá, o EmmyS conseguiu fazer isso funcionar para sua função de phpmail.

O dovecot-postfix faz mais trabalho pesado do que talvez você precise, mas são necessários apenas alguns itens de configuração depois:

sudo apt-get install dovecot-postfix
    
por belacqua 26.02.2011 / 06:07
2

Parece que há muitos servidores de email em execução. Você poderia tentar encerrar o sendmail?

sudo /etc/init.d/sendmail stop

e verifique sua porta smtp (25) com

sudo lsof -i -P -R | grep ':25 '

se você vir a porta 25, há outro processo em execução, tente pará-lo. O pid está na terceira coluna da saída.

Para configurar corretamente o postfix: definido para debconf de baixo nível

sudo dpkg-reconfigure debconf

escolha a caixa de diálogo e, em seguida, o nível baixo de aviso. Então instale o postfix com

sudo apt-get install postfix 

escolha a opção padrão com o perfil "Site da Internet". Se você instalou o postfix anteriormente, pode reconfigurá-lo por:

sudo dpkg-reconfigure postfix

Aproveite!

    
por lcipriani 25.02.2011 / 17:43
2

Para o lado perl Perl :: SendMail irá funcionar se você tiver uma retransmissão local como SSMTP, ou qualquer outro programa similar. Não parece fazer autenticação.

Encontrei uma postagem em Envio de e-mails via GMAIL usando Perl . Por favor, esteja ciente de que o código terá suas credenciais do Google. (Como o SSMTP ou qualquer outro relay que você use.)

Eu sugiro que você use seu servidor de retransmissão ISPs para enviar o email. Você poderia usar Perl :: Sendmail autônomo nesse caso.

Solução recomendada: O Postfix é instalado como uma dependência por muitos programas que exigem um servidor de correio. Se ainda não estiver instalado, instale-o ou Exim4. Configure o seu servidor para "mail enviado pelo smarthost; não pelo correio local" usando o relé do seu ISP como o smarthost. Configure / etc / email-end para você userid. Também configure / etc / aliases para encaminhar e-mails para sua conta do gmail.

Se você usa o cron para rodar você constrói qualquer saída para o stdout ou o stderr será enviado por e-mail para você. Você também pode usar o mailx para enviar e-mails, se quiser enviar mensagens de um script.

    
por BillThor 25.02.2011 / 22:19