Postfix Server for Mass Mailing on Multiple Domains

bulkemailpostfix

I'm currently setting up a mail server for mass mailing on a non-profit. I decided to go with Postfix since I had some experience with the configuration. However my experience was for multi domain environments backed by a MySQL DB not a mass mailing solution.

What I'm trying to accomplish needs to meet the following:

  1. SMTP server that allows to send emails from any email address / domain they choose;
  2. Only allow to send the emails with those domains from the server itself, to avoid running this as an open-relay and have spam issues;
  3. Still have a virtual_aliases, mailbox-domains, mailbox-maps configuration based on a MySQL DB so I can create internal emails @massmail.example to use as email bounce / return path to track errors;

My current config is a multi domain environment, I'm able to add domains and users into the MySQL DB like bounces@massmail.example, connect to SMTP, send mail and receive over IMAP. Everything works fine.

However, how am I supposed to implement the part: "send emails from any email address / domain they choose"?

To send emails from news@non-profit.com, should I:

  1. Add the domain non-profit.com to the virtual_domains table and create the user news@non-profit.com at the virtual_users, login with that address and send the emails?
  2. Login with the internal bounce email bounces@massmail.example use it to send email but change the FROM header to news@non-profit.com?

What's the correct options in terms of SPAM detection bulk sending compliance? Any of the above or something else? How does platforms like mail chimp handle this?

I tried the option (2) and gmail, for instance, says something like this:
enter image description here

Best Answer

You cannot have mass mailing, without SPAMMING, unless users have registered, and approved their email address, or any other 2 factor acknowledgment.

Restrict MTA to IP, edit main.cf and add the IP's you wish to send from. i.e... inet_interfaces = public-ip,127.0.0.1

create a generic map for the different domains they wish to send from. see for example: http://www.cyberciti.biz/tips/howto-postfix-masquerade-change-email-mail-address.html