I have Postfix and Dovecot installed and running on the VPS. Using telnet once from VPS, and once from a client machine, I'm composing exactly the same messages. Everything is working but when sending from the client, the email goes to Gmail's spam.

telnet mydomain.com 587

Only one thing from the mail.log is different from when I send it from the VPS, the message-id is empty:

Aug 26 13:13:37 server postfix/smtpd[32197]: connect from 1-2-3-4.my.domain.com[]
Aug 26 13:14:06 server postfix/smtpd[32197]: D762C582448: client=1-2-3-4.my.domain.com[], sasl_method=plain, sasl_username=user@example.com
Aug 26 13:14:14 server postfix/cleanup[32211]: D762C582448: **message-id=<>**
Aug 26 13:14:14 server postfix/qmgr[32195]: D762C582448: from=<user@example.com>, size=300, nrcpt=1 (queue active)
Aug 26 13:14:15 server postfix/smtp[32213]: D762C582448: to=<example_user@gmail.com>, relay=gmail-smtp-in.l.google.com[]:25, delay=11, delays=9.9/0.07/0.55/0.69, dsn=2.0.0, status=sent (250 2.0.0 OK 1314353655 k7si869205pbk.67)
Aug 26 13:14:15 server postfix/qmgr[32195]: D762C582448: removed

Do you have any ideas? Thanks.


As always on such a question:

  • Dovecot is for reading and therefore has nothing to do with email sending.
  • Postfix is responsible for email delivery and therefore has nothing to do with email content
  • So the client, client software, mail filter, anti-spam software or the like is the culprit

As you don't say which program/software creates the mail nobody can help you. Oh, and just as a side note: a Message-Id header is mail content.

Edit: And for really crappy client software there is a workaround in Postfix that adds missing required headers. But this is only the last resort and you should better fix the client side. Add always_add_missing_headers=yes in main.cf if you absolutely see no other way to do it.

  • 1
    mailq, thank you. I just used telnet to test this from VPS and from Home machine. Just used EHLO, then auth plain, then mail from, mail to, and finally data. Then I looked in the gmail headers like @user84104 mentioned and saw that indeed there's something missing in headers. As you mentioned about a client, I tried it from the Evolution, and after a few configurations, it just worked :) – valk Aug 27 '11 at 8:31
  • @mailq Thanks man! I was debugging this problem for days. Btw, on VPS-EC2, i see the missing-id error using telnet only when my mail server is using the secondary private IP address (all good on my primary private IP address). – xpepermint Jun 26 '14 at 16:59

Everything mailq said is correct.

In addendum, look at both messages in their 'original' formating (i.e. headers and all).
In gmail this can be done by clicking the down arrow next to the quick reply button, then clicking Show Original. Perhaps you will see what gave offence to gmail's antispam filters.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.