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:
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: