Solved

Configuring qmail to use an outgoing mail relay

Posted on 2008-10-28
9
2,168 Views
Last Modified: 2013-12-02
I have a qmail server  living on an Amazon Ec2 instance, it's primary purpose is to receive a large amount of incoming mail, which it does fine. It also wants to forward a very small portion of the mail that it gets, but one of the things about ec2 is since the machines use dynamic IPs, you cannot send outgoing mail on ec2 without it being blocked by most recipients. The solution for this is to not use ec2 for outgoing mail, or use a relay. Option 1 isn't available to me so I'm looking to have my qmail server send outgoing mail to a relay. I have little idea how to do this. Can someone point me towards how to set qmail to use an outgoing relay server?
0
Comment
Question by:malatia
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
9 Comments
 
LVL 78

Expert Comment

by:arnold
ID: 22828401
You need to add the entry into smtproutes:
:ec2_mailserver

http://www.lifewithqmail.org/lwq.html#smtproutes
0
 
LVL 6

Expert Comment

by:Syngin9
ID: 22832325
smtproutes configured in that way will force all email to that server though.  He just wants to forward a small part of the email received.

What is the criteria for the email to be forwarded?  All email for one domain? etc.
0
 
LVL 78

Expert Comment

by:arnold
ID: 22832528
The person wants all email that needs to be sent out forwarded through a smart host provided by the ISP.
The question is why an email server whose primary task is to process incoming email,   have a dynamic IP address?
0
Turn Insights into Action

Communication across every corner of your business is essential to increase the velocity of your application delivery and support pipeline. Automate, standardize, and contextualize your communication processes with xMatters.

 

Author Comment

by:malatia
ID: 22833402
Yes actually all of my outgoing mail from this server has to be relayed. It doesn't send much, the forwards are actually from a few criteria, joe@mydomain.com -> joe@hotmail.com, critical@mydomain -> me@mydomain, etc. set up in qmailadmin.

>The question is why an email server whose primary task is to process incoming email,   have a dynamic IP address?

It's actually ok running in the cloud as incoming server. All the mail it needs to get it gets. But it happpens to also send some outgoing mail. Any outgoing mail has to be relayed to mysmtpserver.com.  I think smtproutes is the way to do this then?  Qmail administration is new to me. Thank you much :)
0
 
LVL 20

Expert Comment

by:Daniel McAllister
ID: 22850351
OK... It's a pet-peeve of mine when "experts" tell users that WORKING parts of their system cannot work. So, let's take at face value that malatia has a QMail server that is on a server with a dynamic IP address. (This CAN be done -- RELIABLY -- for inbound mail by using any of the myriad of DynDNS-type services. The problem -- and thus the question here -- is in outbound mail, not inbound).

matalia has already admitted that ALL of his outbound messages will have to go through a relay host -- forwarded and "originating" messages alike! So, with that in mind, let's re-examine the original post...

First, there seems to be some confusion about how smtproutes is used within QMail. It DOES override the DNS lookup of MX records -- but it does NOT override the "locals" setting. So, if your "receiving domains" are listed in locals, you won't have to worry about inbound messages being "relayed" to your relay host. The same can be said for virtualdomains that "point" to a local domain.

ASIDE: If you WANT to have a domain whose messages you receive, but always forward out someplace else, enter the domain name in the rcpthosts file and the smtproutes file (and no place else).

So, if we assume you make the appropriate entry in your smtproutes file (and YES, you want the "global" forward format demonstrated above by arnold), then the next question appears to be how to make only certain users' e-mails forwarded.

In this instance, you're wanting to look at the .qmail file in each user's folder that contains their MailDir. (Assuming you're not using something like VPopMail to process inbound messages). In the .qmail file, place a line that starts with an & in the file for each "off-server" address you want the message sent to. You can thus forward to multiple accounts, and you can also choose whether the local system retains a copy of said messages.

For example, assuming we have a user called "me" whose e-mail address on the QMail server is me@mydomain.tld, and that messages are delivered to the MailDir located at /home/me/Maildir, then:
- if your .qmail looks like:
  &me@hotmail.com

  Then all mail for me@mydomain.tld is forwarded to me@hotmail.com -- and no local copy is kept. If the smtproutes file exists, then the routing goes through the mail relay host (as it should).

- if your .qmail looks like:
  &me@hotmail.com
  /home/me/Maildir

  Then all mail for me@mydomain.tld is forwarded to me@hotmail.com -- and a local copy IS kept.

- if your .qmail looks like:
  &me@hotmail.com
  &you@yahoo.com

  Then all mail for me@mydomain.tld is forwarded to both me@hotmail.com AND you@yahoo.com -- and no local copy is kept.

You should get the idea.

I hope this helps.... someone!

Dan
IT4SOHO
0
 
LVL 78

Accepted Solution

by:
arnold earned 200 total points
ID: 22853237

There are different ways to get an email address that would forward without the need for creating local account.  Look at www.lifewithqmail.org and look for various aliasing option if that is a consideration.

It is often better to have a mail server with a static IP when one relies on consistently and timely receipt of email.
0
 
LVL 20

Assisted Solution

by:Daniel McAllister
Daniel McAllister earned 250 total points
ID: 22854047
Indeed.... having a static IP on the server could allow one to eliminate problem entirely. For, with a static IP, one could request that the ISP create a PTR record for your QMail server. With that, those pesky ISPs that block your messages  if your forward & reverse IPs don't match could be duly satisfied. Problem solved.

However, when you read the original posting (and read a little in to it, I suppose), it seems to me that malatia most likely had already figured that out. However, for whatever reason (may they forever remain privately his/her own), they wanted to know how to make QMail forward outbound mail to a relay server.

I've said all this already... but there is something potentially important to add:

If you're sending your outbound messages to the relay host, one might assume that the relay host is going to want/need some kind of authorization to permit the relay (otherwise, it would likely be an OPEN relay, and quickly appear on an RBL list or dozen).

So, what I neglected to mention above is that QMail can accommodate that in the smtproutes file. Simply add the auth information on the same line.

For example:
:relay.verizon.net  myverizonname myverizonpassword

The ugly part of this is that the password is now listed in a clear-text file. As such, you may want to limit the access to that file (just make sure qmail-remote can access it!).

This should resolve malatia's issue completely.

Dan
IT4SOHO
0
 
LVL 13

Assisted Solution

by:Xyptilon2
Xyptilon2 earned 50 total points
ID: 22858121
Just a short note, in order for the remote authentication to work in the smtproutes file, you need to patch the original qmail 1.03 with the remote auth patch. Which you need to look for since i dont have the link available at the moment.
0
 
LVL 20

Assisted Solution

by:Daniel McAllister
Daniel McAllister earned 250 total points
ID: 22997667
Try the QMail Toaster -- one of several QMail "projects" that pre-builds & configures loads of popular patches and applications. http://www.qmailtoaster.com.

Note: QMail Toaster uses vpopmail -- meaning that users can be given personal control over their mail routing (even creating server-based vacation messages!).

Good luck!

Dan
IT4SOHO
0

Featured Post

Turn Insights into Action

Communication across every corner of your business is essential to increase the velocity of your application delivery and support pipeline. Automate, standardize, and contextualize your communication processes with xMatters.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Marketers need statistics and metrics like everybody else needs oxygen. In this article we explain how to enable marketing campaign statistics for Microsoft Exchange mail.
As tax season makes its return, so does the increase in cyber crime and tax refund phishing that comes with it
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:

691 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question