Developer Portal not sending email

By default, the Drupal-based Apigee Edge Developer Portal sends mail through PHP, which uses the local sendmail program by default. If you are not receiving email the issue can be:

  1. The server is not correctly configured to send email
  2. PHP on the server is not correctly configured to send email
  3. Emails sent from your server are being considered spam

Using local mail versus SMTP

If you are using a cloud hosted Dev Portal site, it's ok to use the local sendmail option for the development and maybe the test sites. But for production developer portals, you should not use the default, local sendmail option. Email sent from local sendmail from within Drupal will appear to arrive from an anonymous cloud server, and these probably will be marked as spam by receiving programs like Gmail or Outlook. To avoid this, for production developer portal sites, you should configure the SMTP module for production use.

If you are using an on-premises installed Dev Portal, make sure your server has been properly configured to send mail properly, or contact your IT department to find out the SMTP configuration you should be using and set up the SMTP module.

For more information on configuring SMTP mail, see: http://apigee.com/docs/developer-services/content/configuring-email

Debugging cloud mail issues

If you are not getting mail through our cloud Dev Portal sites, the emails are most likely being marked as spam by your mail service. As noted above, production servers should be configured to use the SMTP mail module, which on the configuration page will allow you to turn on debugging and sent test emails to valdiate your configuration.

Debugging mail issues with the on-premises Dev Portal

Test emails on the server by running this command w/your email address:

echo "This is a test from server's mail." | mail -s Testing your@email.com

If this email is not sent, then there is an issue with the server sending mail.

Test if PHP can send mail

Create a file in your webroot (/var/www/html) named mail.php with the proper email address added:

<?php 
  error_reporting(E_ALL);
  ini_set('display_errors', TRUE); 
  ini_set('display_startup_errors', TRUE); 

  mail ( 'your@email.com', "Test mail from PHP", "Test mail from PHP" ); 
  echo "Test email sent"; 
?> 

Then user your browser to run that script: http://servername/mail.php

If the PHP mail is not received but the server mail is recieved, then PHP is not configured correctly to send mail.

Options if you get email from sendmail but not PHP:

Version history
Last update:
‎04-30-2015 02:58 PM
Updated by: