1

I want to send emails with an rails webapp. I set up an exim server and when looking into the logs, the sending works, but the emails aren't sent really.

I had the same problem with another ISP.

The sender address is hosted on another mailserver, other ISP. I think the problem is, that sending doesn't work because the sender address isn't hosted on the same server. Do you have any advice on this? The logs (exim) tell me the following:

2011-01-01 14:38:06 1PZ1eo-0000Ga-38 <= <> R=1PZ1eo-0000GY-1p U=Debian-exim P=local S=1778
2011-01-01 14:38:08 1PZ1eo-0000Ga-38 => newsletter@foo.bar R=dnslookup T=remote_smtp H=mx1.emailsrvr.com [98.129.184.131] X=TLS1.0:RSA_AES_256_CBC_SHA1:32 DN="C=US,O=mx1.emailsrvr.com,OU=GT21850092,OU=See www.geotrust.com/resources/cps (c)08,OU=Domain Control Validated - QuickSSL(R),CN=mx1.emailsrvr.com"
2011-01-01 14:38:08 1PZ1eo-0000Ga-38 Completed

newsletter@foo.bar is the external sender-address.

Edit with more details

When sending a mail from command line with:

echo "Test" | mail -s Testmail foo.bar@gmail.com

the logs says

2011-01-01 20:45:24 1PZ7OG-0001Vp-Rx <= root@gustav U=root P=local S=360
2011-01-01 20:45:26 1PZ7OG-0001Vp-Rx => foo.bar@gmail.com R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [209.85.229.27] X=TLS1.0:RSA_ARCFOUR_MD5:16 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=mx.google.com"
2011-01-01 20:45:26 1PZ7OG-0001Vp-Rx Completed

and I get the mail on my gmail account.

But when sending by webapp (when testing locally with sendmail it works fine) I only get this log output:

2011-01-01 20:50:08 1PZ7Sq-0001X9-L4 <= <> R=1PZ7Sq-0001X7-Jo U=Debian-exim P=local S=1780
2011-01-01 20:50:11 1PZ7Sq-0001X9-L4 => newsletter@foo.bar R=dnslookup T=remote_smtp H=mx1.emailsrvr.com [98.129.184.3] X=TLS1.0:RSA_AES_256_CBC_SHA1:32 DN="C=US,O=mx1.emailsrvr.com,OU=GT21850092,OU=See www.geotrust.com/resources/cps (c)08,OU=Domain Control Validated - QuickSSL(R),CN=mx1.emailsrvr.com"
2011-01-01 20:50:11 1PZ7Sq-0001X9-L4 Completed
msanford
  • 1,477
  • 15
  • 28
trnc
  • 688
  • 1
  • 12
  • 31
  • Please can you post the previous few lines of the log file? What you've quoted looks like there is a bounce (charicterised by the sender address of <>) being sent to newsletter@foo.bar; is there? What does it contain if so? Can you send e-mail from a command line on the server? – David North Jan 01 '11 at 18:40

2 Answers2

1

The R= is saying that this item is a bounce and the message-id given in the R= part is the original message-id which failed. You'll need to look at the log-entry for that to see what recipient address was generated and why it failed.

You might also try exim -bt recipient@addre.ss to see what Exim thinks should be done with a particular address, and add -d to the command-line to get more debugging information (but beware that there can be a lot to pick through).

Phil P
  • 3,080
  • 1
  • 16
  • 19
1

In general, the location of the sender address (or to be more accurate, the location of the mailbox associated with the sender address) won't affect message sending/receiving when sending from an application running on a different server. There are exceptions to this, for example SPF, so this should always be checked in the DNS and in the sending MTA log file.

The log file data you have given is insufficient to help deduce the problem. The message delivered to newsletter@foo.bar is not the message from your web application, but an error (bounced messaged) caused by the real problem. It's being sent to that address because that's the message From address.

You will need to provide the log file entries before these, which will probably be similar to:

2011-01-01 20:49:00 1PZ7OG-0001W4-22 <= newsletter@foo.bar U=Debian-exim P=local S=1024

AndrewNimmo
  • 367
  • 1
  • 7