Adicione uma conta de email ao postfix

5

Eu adicionei um usuário no linux chamado "mailer". Eu só estou usando esse usuário para enviar e-mail de saída, não receber. O que preciso fazer para usar as seguintes informações de SMTP para enviar mensagens de saída?

$config['host'] = 'localhost';
$config['port'] = '25';
$config['secure'] = '';  //ssl or tls
$config['auth'] = 'true';
$config['username'] = 'mailer';
$config['password'] = '******';

atualização

Alguém por favor me ajude, como posso configurar uma conta para enviar e-mail via SMTP?

atualização

Devo usar apenas informações SSH como nome de usuário / senha para enviar e-mails? As informações de configuração acima estão usando o PHPMailer via SMTP.

atualização

Eu fiz um teste para enviar e-mail via PHPMailer e os logs de e-mail mostram ...

Aug 31 17:58:55 spireprod postfix/smtpd[14597]: disconnect from unknown[::1]
Aug 31 17:58:55 spireprod postfix/smtp[14601]: DA1491BC1084: to=<[email protected]>, relay=gmail-smtp-in.l.google.com[74.125.95.27]:25, delay=0.48, delays=0.12/0.01/0.12/0.23, dsn=2.0.0, status=sent (250 2.0.0 OK 1283291935 gy42si22156132ibb.26)
Aug 31 17:58:55 spireprod postfix/qmgr[941]: DA1491BC1084: removed

O problema é que eu nunca recebi!

    
por Webnet 28.08.2010 / 05:38

3 respostas

3

Você já testou se a conta pode enviar e-mails?

Existem algumas maneiras de fazer isso, mas o mais fácil é fazer o telnet para a porta 25 (SMTP) no seu servidor de email (tente no console local):

telnet localhost 25
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 myserver.com ESMTP Postfix
EHLO test.com
250-myserver.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from: [email protected]
250 2.1.0 Ok
rcpt to: [email protected]
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Subject: Test Message
Test
.
250 2.0.0 Ok: queued as 97B7D7640D0

Se você vir todas essas 250 mensagens OK e sua mensagem chegar ao endereço de teste, a conta estará funcionando bem.

Se você receber um erro, ele indicará onde o problema está na configuração. Se você receber um erro após o comando MAIL FROM:, o usuário não poderá enviar e-mails.

Se você receber um erro após o comando RCPT TO:, o usuário não poderá enviar e-mails para o endereço de teste.

Se você receber um erro após o corpo do e-mail ou a mensagem nunca chegar, verifique seu arquivo maillog. É muito útil ter outra janela com uma visualização ao vivo de seu maillog - tail -f /var/log/maillog permitirá que você veja o que está acontecendo em seu servidor de e-mail quando isso acontece. Muito útil ao rastrear as coisas.

Você também pode testar mudando para o usuário do mailer e usando o comando de email para enviar uma mensagem de teste - veja o maillog ao mesmo tempo para ver o que acontece.

    
por 31.08.2010 / 11:54
4

No Postfix, você pode ter um usuário que será autorizado a enviar e-mails sem ter uma caixa de correio real.

Este usuário só será usado para realizar a operação de enviar e-mail, mas o postfix não verifica se o nome de usuário corresponde ao endereço de e-mail usado para enviar o e-mail (se você também não perguntar).

Em claro, o 'mailer' do usuário pode enviar um email com um campo 'mail from' para [email protected], [email protected] e assim por diante ... para qualquer pessoa.

Você pode fazer isso de duas formas diferentes:

  1. Se o seu postfix e o aplicativo de envio estiverem na mesma máquina (como no seu exemplo), defina a configuração do postfix da seguinte forma

    smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

    mynetworks = 127.0.0.0/8

  2. Se o seu cliente estiver em uma máquina diferente, configure a Autenticação SASL no postfix e defina a restrição como segue

    smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination

Quando o usuário 'mailer' enviar um email, o postfix controlará sua credencial antes de autorizar o comando 'RCPT TO'. Se corresponder, o 'mailer' será autorizado a realizar a operação com qualquer valor 'RCPT TO': o mailer pode enviar e-mails para qualquer pessoa. O campo MAIL FROM não é controlado, então você pode colocar qualquer coisa lá.

    
por 31.08.2010 / 07:41
3

O postfix é um tipo de interface que aceita emails e os despacha dependendo do destino do domínio. O postfix não tem usuários.

Se você precisa criar usuários, e assim - no Linux / Unix - destinatários de correio locais, existe o comando

useradd

Faça um man useradd . Isto irá criar o usuário; Verifique as opções, você pode ter que especificar o diretório inicial e / ou criá-lo. Em seguida, siga este link .

Normalmente, o padrão no Linux é que o correio local será aceito pelo Postfix e armazenado em /var/mail/ usuário onde usuário é um usuário que existe localmente no servidor .

O postfix, se configurado para aceitar e rotear correio externo, decidirá dependendo do domínio do endereço de e-mail (a parte após o @ ) se tiver que armazená-lo localmente (por exemplo, usuário existe localmente, nenhum domínio é especificado ou o domínio corresponde aos mydestination domínios especificados em main.cf ), ou encaminhá-lo para um relay , dependendo da tabela padrão ou transport .

Normalmente, um domínio desconhecido será encaminhado para o retransmissão padrão ou o Postfix conseguirá passar o email para o servidor de destino com base nas entradas MX do DNS do domínio de destino.

    
por 28.08.2010 / 07:34