Sending email in bulk can be a very challenging thing, it requires a mail server with a good reputation as well as careful compliance with anti-spam laws in order to maintain a good reputation. Many of the most popular email account domains will treat you as a spammer if you send the email too fast (i.e., too many to their domain in a short time) especially if your mail server is not a well-known server or does not have sender id and/or domain keys. Using a consumer or even a business email account from google or Yahoo to send bulk email can be very problematic.

In mojoCMS the main features that send bulk email are the newsletter and the Forums, which sends forum post notifications to subscribers in your forums. These features both comply with anti-spam requirements and make it easy for members to opt out or unsubscribe, but you can still have problems if you are sending lots of email.

Using mojoPortal or higher, you can configure alternate SMTP settings for the Newsletter and the Forums, so that the bulk email is not sent from the main SMTP server. The settings can be configured as follows in your user.config file:

<add key="Newsletter:SmtpServer" value="" />
<add key="Newsletter:SmtpServerPort" value="25" />
<add key="Newsletter:SmtpUser" value="" />
<add key="Newsletter:SmtpUserPassword" value="" />
<add key="Newsletter:SmtpRequiresAuthentication" value="true" />
<add key="Newsletter:SmtpUseSsl" value="false" />
<add key="Newsletter:SmtpPreferredEncoding" value="" />

<add key="Forum:SmtpServer" value="" />
<add key="Forum:SmtpServerPort" value="25" />
<add key="Forum:SmtpUser" value="" />
<add key="Forum:SmtpUserPassword" value="" />
<add key="Forum:SmtpRequiresAuthentication" value="true" />
<add key="Forum:SmtpUseSsl" value="false" />
<add key="Forum:SmtpPreferredEncoding" value="" />

So if you have access to a better mail server that is more optimized for sending bulk email, you can configure these features to use that alternate mail server.

If you don't have access to a mail server that is well suited for bulk email, try Elastic Mail, MailGun, SendGrid, or another 3rd-Party relay service.

Throttling the Send Rate

Some web hosts may limit the number of email messages you can send in an hour. You can add a setting to user.config to limit the speed at which newsletter email is sent like this:

<add key="NewsletterMaxToSendPerMinute" value="5" />

The above example would send about 300 email messages per hour.

If you have a lot of users subscribed to forum message notification, you can also limit the rate at which those email notifications are sent like this:

<add key="Forum:NotificationMaxToSendPerMinute" value="5" />
Gravatar Joe Davis is the mojoPortal Project Lead and the President of i7MEDIA.
Last Modified by Joe Davis on Sep 02, 2020