If you notice Sendmail hanging up for many minutes while starting up at boot or while being used such as sending an email from a PHP script, it is probably a DNS lookup problem. Ensure your /etc/hosts file has the appropriate entries for your server that sendmail is running on:
127.0.0.1 localhost localhost.localdomain
192.168.1.80 www.foo.com www
Replace “www.foo.com” and “www” with your server’s fully qualified domain name and host name respectively. Replace “192.168.1.80” with the IP address of your server. The last entry with the “.” at the end is critical so don’t forget it.
Here is a snippet of PERL code which you can use to send emails from your PERL scripts:
open (MAIL, "|/usr/sbin/sendmail -t ");
print MAIL "From: someFromAddress\@someFromDomain\n";
print MAIL "To: someToAddress\@someToDomain\n";
print MAIL "Content-Type: text/plain\n";
print MAIL "Subject: Very simple email test\n\n";
print MAIL "Body of the message";
Replace “someFromAddress\@someFromDomain” with an email address to be displayed in the “from” field of the email. It is important to not omit the backslash in front of the @ character in the email address. Similarly, replace “someToAddress\@someToDomain” with the email address to send the email to. Again don’t forget to escape the @ character in the email address by placing a backslash (\) in front of the @ sign. Also you’ll need to not leave off the “\n” you see in the to, from, and subject lines in the code.