É possível alterar o id de mensagem do postfix?

5

É possível alterar o ID da mensagem no postfix? Se eu enviar o Mails por um aplicativo Java, recebo o seguinte id de mensagem:

message-id=<143303043.111334605578921.JavaMail.applicationanme@hostname>

Então, quero que o ID da mensagem seja assim:

message-id=<[email protected]>

O que eu posso entender, se eu enviar e-mails com o programa Linux mail , funciona:

message-id=<[email protected]>

Já defini meu nome de host no postfix-conf, mas quando envio um email com o aplicativo java ele não funciona. Usamos um host de retransmissão para enviar email e todas as mensagens enviadas sem @domain.tld no ID de email serão detectadas como spam.

Você tem alguma ideia de como eu posso consertar isso?

    
por Marcus 29.11.2011 / 22:22

4 respostas

9

Como ninguém deu a você uma solução sobre como inserir postfix um id de mensagem que reflete seu domínio e eu tive o mesmo problema, imaginei que compartilharia como eu podia ter o postfix faça isso:

1) Adicionar ao final de /etc/postfix/main.cf

header_checks = regexp:/etc/postfix/header_checks

2) Insira uma string de substituição em header_checks

/Message-Id:\s+<(.*?)@hostname>/ REPLACE Message-Id: <[email protected]>

3) Execute o postmap

postmap /etc/postfix/header_checks

4) Reinicie o postfix

service postfix restart
    
por 27.05.2014 / 02:39
8

Em vez de tentar reescrever o ID da mensagem no postfix, porque não apenas o javamail gera o MessageID correto desde o início. Você pode alterar como o javamail gera MessageID subclassificando MimeMessage e fornecendo um novo método updateMessageID

    
por 29.11.2011 / 22:43
5
  1. Por que você quer fazer isso? Como @BenPilbrow apontou, o id da mensagem é quase sem sentido. Praticamente a única coisa que vai usá-lo é um cliente de e-mail segmentado.

  2. Como @stew apontou, você pode apenas emitir um email com um ID de mensagem apropriado.

  3. Finalmente, a solução de postfix é alterar o valor do $ myhostname , como isso é o que o postfix usa após o símbolo @ quando cria identificações de mensagem.

por 29.11.2011 / 23:22
1

A propriedade java relevante é mail.host . Dependendo do seu aplicativo, você pode ter um arquivo de propriedades em que você o define da seguinte forma:

mail.host=your.tld

alternativamente usando a opção de linha de comando -D:

java -Dmail.host=your.tld ...

Como outros apontaram, a parte do domínio no id da mensagem é quase 100% irrelevante - exceto no caso do spam. Eu tive um problema semelhante em que as mensagens enviadas via programa mail eram entregues imediatamente, mas aquelas enviadas via javamail, que omitiam o TLD do ID da mensagem, só recebiam entrega atrasada. O problema foi corrigido adicionando o TLD completo ao ID da mensagem.

    
por 09.12.2011 / 10:38