?
Solved

Configuring qmail to use an outgoing mail relay

Posted on 2008-10-28
9
Medium Priority
?
2,184 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 79

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 79

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
Get real performance insights from real users

Key features:
- Total Pages Views and Load times
- Top Pages Viewed and Load Times
- Real Time Site Page Build Performance
- Users’ Browser and Platform Performance
- Geographic User Breakdown
- And more

 

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 79

Accepted Solution

by:
arnold earned 800 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 1000 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 200 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 1000 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

Video: Liquid Web Managed WordPress Comparisons

If you run run a WordPress, you understand the potential headaches you may face when updating your plugins and themes. Do you choose to update on the fly and risk taking down your site; or do you set up a staging, keep it in sync with your live site and use that to test updates?

Question has a verified solution.

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

Utilizing an array to gracefully append to a list of EmailAddresses
We aren’t perfect, just like everyone else.  Check out the email errors our community caught and learn the top errors every email marketer should avoid.
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
Suggested Courses
Course of the Month13 days, 4 hours left to enroll

777 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