The Amazon EC2 BitNami stack servers are used for hosting e-commerce/web applications. BitNami stacks are ready to use virtual machines. Being an e-commerce/Web application, it will require functionality to send email from the server. One may receive below error in the Apache error log if Sendmail service is not present on the server.
/usr/bin/sendmail: not found
The error occurs due to Sendmail service not present on the server.
1) Install Sendmail service
# sudo apt-get install sendmail // for Ubuntu
# yum install sendmail // Centos/RedHat
2) Verify Sendmail installation
# whereis sendmail
sendmail: /usr/sbin/sendmail /usr/lib/sendmail /usr/share/sendmail /usr/share/man/man8/sendmail.8.gz
3) For Ubuntu, update the Sendmail path in the php.ini
# sudo vi opt/bitnami/php/etc/php.ini
sendmail_path = /usr/sbin/sendmail -t -i -f root@your_server_hostname
4) Restart Apache service
# sudo /opt/bitnami/ctlscript.sh restart apache2
5) Check by sending mail using mail command
# echo "This is a test mail. Please do not reply" | mail -s Test Email firstname.lastname@example.org
If the mail arrives in your mail inbox then the mail service is working fine.
Note: It is advised to use smtp() function instead of mail() function for sending emails on the Amazon servers. This is because Amazon restricts the number of emails sent through mail() / Sendmail.
The smtp script can be found here.