postfix - "Recipient address rejected" when sending an email with sendgrid

10
2013-08
  • WJB

    In postfix, I'm using relay_host to send an email to an external address using sendgrid, but I get an error about local ricipient table when sending an email from my PHP code.

    This is my main.cf in /postfix/

    ## -- Sendgrid
    smtp_sasl_auth_enable = yes 
    smtp_sasl_password_maps = static:username:password 
    smtp_sasl_security_options = noanonymous 
    smtp_tls_security_level = may 
    header_size_limit = 4096000
    relayhost = [smtp.sendgrid.net]:587
    

    This is the error message from the log:

    postfix/smtpd[53598]: [ID 197553 mail.info] NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 550 5.1.1 Recipient address rejected: User unknown in local recipient table; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<localhost.localdomain>
    

    One interesting thing is when I use "sendmail [email protected]" from the command line, the email is delivered successfully using SendGrid. I think it's because this uses postfix/smtp instead of postfix/smtpD

    the log for this says,

    postfix/smtp[18670]: [ID 197553 mail.info] AAF7313A7E: to=, relay=smtp.sendgrid.net[50.97.69.148]:587, delay=4.1, delays=3.5/0.02/0.44/0.18, dsn=2.0.0, status=sent (250 Delivery in progress)

    Thank you

  • Answers
    Know someone who can answer? Share a link to this question via email, Google+, Twitter, or Facebook.

    Related Question

    unix - Postfix on Snow Leopard unable to send MIME emails, including header contents in message body
  • devvy

    I configured postfix on snow leopard by adding the following line to /etc/hostconfig:

    MAILSERVER=-YES-
    

    I then configured postfix to relay through my ISP's SMTP server. I added the following two lines in their respective places within /etc/postfix/main.cf:

    myhostname = 1and1.com
    relayhost = shawmail.vc.shawcable.net
    

    I then have a simple PHP mail function wrapper as follows:

    send_email("[email protected]", "[email protected]", "Test Email", "<p>This is a simple HTML email</p>");
    echo "Done";
    
    function send_email($from,$to,$subject,$message){
     $header="From: <".$from.">
    ";
     $header.= 'MIME-Version: 1.0' . "
    ";
     $header.= 'Content-type: text/html; charset=iso-8859-1' . "
    "; 
     $send_mail=mail($to,$subject,$message,$header);
     if(!$send_mail){ echo "ERROR"; }
    }
    

    With this, I am receiving an e-mail that appears to be improperly formatted. The message header is showing up in the body of the e-mail. The raw message content is as follows:

    Return-Path: <[email protected]>
    Delivery-Date: Tue, 27 Apr 2010 18:12:48 -0400
    Received: from idcmail-mo2no.shaw.ca (idcmail-mo2no.shaw.ca [64.59.134.9])
     by mx.perfora.net (node=mxus2) with ESMTP (Nemesis)
     id 0M4XlU-1NCtC81GVY-00z5UN for [email protected]; Tue, 27 Apr 2010 18:12:48 -0400
    Message-Id: <7vpiof$[email protected]>
    Received: from pd6ml3no-ssvc.prod.shaw.ca ([10.0.153.149])
      by pd6mo1no-svcs.prod.shaw.ca with ESMTP; 27 Apr 2010 16:12:47 -0600
    X-Cloudmark-SP-Filtered: true
    X-Cloudmark-SP-Result: v=1.0 c=1 a=VphdPIyG4kEA:10 a=hATtCjKilyj9ZF5m5A62ag==:17 a=mC_jT1gcAAAA:8
     a=QLyc3QejAAAA:8 a=DGW4GvdtALggLTu6w9AA:9 a=KbDtEDGyCi7QHcNhDYYwsF92SU8A:4
     a=uch7kV7NfGgA:10 a=5ZEL1eDBWGAA:10
    Received: from unknown (HELO 1and1.com) ([24.84.196.104])
      by pd6ml3no-dmz.prod.shaw.ca with ESMTP; 27 Apr 2010 16:12:48 -0600
    Received: by 1and1.com (Postfix, from userid 70)
     id BB08D14ECFC; Tue, 27 Apr 2010 15:12:47 -0700 (PDT)
    To: [email protected]
    Subject: Test Email
    X-PHP-Originating-Script: 501:test.php
    Date: Tue, 27 Apr 2010 18:12:48 -0400
    X-UI-Junk: AutoMaybeJunk +30 (SPA);
      V01:LYI2BGRt:7TwGx5jxe8cylj5nOTae9JQXYqoWvG2w4ZSfwYCXmHCH/5vVNCE
      fRD7wNNM86txwLDTO522ZNxyNHhvJUK9d2buMQuAUCMoea2jJHaDdtRgkGxNSkO2
      v6svm0LsZikLMqRErHtBCYEWIgxp2bl0W3oA3nIbtfp3li0kta27g/ZjoXcgz5Sw
      B8lEqWBqKWMSta1mCM+XD/RbWVsjr+LqTKg==
    Envelope-To: [email protected]
    
    From: <[email protected]>
    MIME-Version: 1.0
    Content-type: text/html; charset=iso-8859-1
    Message-Id: <[email protected]>
    Date: Tue, 27 Apr 2010 15:12:47 -0700 (PDT)
    
    
    <p>This is a simple HTML email</p>
    

    And here are the contents of my /var/log/mail.log file after sending the email:

    Apr 27 15:29:01 User-iMac postfix/qmgr[705]: 74B1514EDDF: removed
    Apr 27 15:29:30 User-iMac postfix/pickup[704]: 25FBC14EDF0: uid=70 from=<_www>
    Apr 27 15:29:30 User-iMac postfix/master[758]: fatal: open lock file pid/master.pid: unable to set exclusive lock: Resource temporarily unavailable
    Apr 27 15:29:30 User-iMac postfix/cleanup[745]: 25FBC14EDF0: message-id=<[email protected]>
    Apr 27 15:29:30 User-iMac postfix/qmgr[705]: 25FBC14EDF0: from=<[email protected]>, size=423, nrcpt=1 (queue active)
    Apr 27 15:29:30 User-iMac postfix/smtp[747]: 25FBC14EDF0: to=<[email protected]>, relay=shawmail.vc.shawcable.net[64.59.128.135]:25, delay=0.21, delays=0.01/0/0.1/0.1, dsn=2.0.0, status=sent (250 ok:  Message 25784419 accepted)
    Apr 27 15:29:30 User-iMac postfix/qmgr[705]: 25FBC14EDF0: removed
    

    Two other people in the office have followed the exact same process and are running the exact same script, version of snow leopard, php, etc. and everything is working fine for them. I've even copied their config files to my machine, restarted postfix, restarted apache, all to no avail.

    Does anyone know what steps I could take to resolve the issue? This is boggling my mind...

    Thanks


  • Related Answers
  • devvy

    Yes, as taspeotis mentioned, I fixed it by removing the line "mail.add_x_header = On" from my php.ini

    I'll see if I can mark this as the answer.