Knowledgebase: E-mail
When sending e-mail I get a rate limit/reject message, its delayed or I don't receive it at all
Posted by Support, Last modified by Support on 19 September 2014 02:22 PM

You are receiving this problem because one of the two reasons below.

If you get the error message "Recipient address rejected: Policy Rejection- Quota Exceeded." from your web app such as wordpress, joomla, drupal or other web based software on our web servers. Your e-mails from your web apps are delayed or your clients/e-mail accounts you are sending to never get the e-mails, please use one of the fixes below.


This issue occurs because we have an e-mail policy restriction of 350 e-mails per day per sender. If you are using PHP's built in mail() function for example, which in PHP is the default for most PHP based apps, then your PHP app would most likely be using the defaults and will use the web servers from address of webXXXX.aiso.net. Due to this your PHP app would be competing against all other web apps on the server for the 350 e-mails allowed to be sent in one day. To go around this and get your own 350 e-mails per day, configure your web app to send email via our SMTP Gateway, which has the IP address of 10.1.19.76. Our SMTP gateway does not require SMTP authentication but does require a valid from e-mail address of a domain name on our network, so please make sure the e-mail address is created on your domain name with us; this will allow you to only need to make your web app use some method of connecting via SMTP to the above IP address to send e-mail. Usually this is done via the "fsock" function in PHP, the comamnd "use Socket;" via Perl, etc... or a add-in/plug-in for your web app to communicate with outside SMTP servers. You are still limited to 350 e-mails per day to send out using our SMTP Gateway.

If you use your hosted e-mail account and use SMTP Authentication such as the mail server mail.your-domain-name.com then you will not be restriced to the 350 per day e-mail limit, this is the recommened way for e-mail sending.

For Drupal, use this URL to install and configure the SMTP module:
http://drupal.org/project/smtp

For Wordpress, use this URL to install and configure the SMTP plugin, then configure it for the SMTP option:
http://wordpress.org/extend/plugins/wp-mail-smtp/

For other software please go to their respective web sites for help.

If you still wish to use PHP's built in mail function, then you need to set it to use your correct from e-mail address and correct return e-mail address. You can use the following code as an example where webmaster@example.com is the valid from e-mail address:
$headers = 'From: webmaster@example.com' . "\r\n" .
  'Reply-To: webmaster@example.com' . "\r\n" .
  'X-Mailer-Script: PHP/' . phpversion();
mail('to-address@example.com', 'the subject', 'the message', $headers,'-fwebmaster@example.com');


NOTE: If you are sending the e-mails to an e-mail address within your own domain name on our network, then use the IP address 10.1.19.76 to send your e-mails and you will be able to send your domain name unlimited e-mails (your domain name's e-mail accounts have to be hosted with us).

There are a few options, you can connect to the SMTP servers directly using sockets, you can use PHPMailer library (located here) or you can use PHP PEAR Mail package to send mail using an outside email server or using the IP 10.1.19.76 as described above for e-mails residing on our network email servers; or you can use the SMTP Gateway email server IP of 10.1.19.76 to send to email accounts outside of our network such as hotmail or gmail. Part of what makes the PHP mail() function is so simple is its lack of flexibility. Most importantly and frustratingly, the stock mail() does not usually allow you to use the SMTP server of your choice, and it does not support SMTP authentication, required by many a mail server today, at all.
Adapt the example below for your needs. Make sure you change the following variables at least:

  • from: the email address from which you want the message to be sent.
  • to: the recipient's email address and name.
  • host: your outgoing SMTP server name.
  • username: the SMTP user name (typically the same as the user name used to retrieve mail).
  • password: the password for SMTP authentication.

Sending Mail from PHP - Example

<?php
require_once "Mail.php";

$from = "Sandra Sender <sender@example.com>";
$to = "Ramona Recipient <recipient@example.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "mail.example.com";

$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'auth' => false));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
?>

Sending Mail from PHP Using SMTP Authentication - Example

<?php
require_once "Mail.php";

$from = "Sandra Sender <sender@example.com>";
$to = "Ramona Recipient <recipient@example.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "mail.example.com";
$username = "smtp_username";
$password = "smtp_password";

$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'auth' => true,
'username' => $username,
'password' => $password));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
?>

Sending Mail from PHP Using SMTP Authentication and SSL Encryption - Example

<?php
require_once "Mail.php";

$from = "Sandra Sender <sender@example.com>";
$to = "Ramona Recipient <recipient@example.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "ssl://mail.example.com";
$port = "465";
$username = "smtp_username";
$password = "smtp_password";

$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
?>

Sending Mail from ASP.Net - Example

Read this article for an example:
http://www.4guysfromrolla.com/webtech/080801-1.shtml

Then make sure based on the the code in the article us the command:
SmtpMail.SmtpServer = emailServerName

Replacing the "emailServerName" with the SMTP gateway address above.

If you are using an e-mail client such as outlook or thunderbird and get an error message when trying to send an e-mail like the following:
"Rate limited, try again later"

This answer is the same as above, this is because we have an e-mail policy restriction of 350 e-mails per day per e-mail account, except that you will not be able to use our SMTP gateway to send email. You will need to wait until the next day to send more e-mails or send less e-mails per day.

If you wish to send large quanities of e-mails out, please consider using our mailing list plans here:
http://www.aiso.net/mailing-list-manager-plans.asp


We have done this to combat spam sending from our network, these errors are just temporarily, if you get one of these errors you will have to wait until the next day to send e-mails out.

(922 vote(s))
Helpful
Not helpful