Sending email from php via native functions is easy.
<?php mail("email@org.com", "Test Email", "Error in email"); ?>
To send email from a specific recipient, I noticed that headers can be added to the mail function (which are optional). Here’s what I had added to send HTML emails from specific headers:
// To send HTML mail, the Content-type header must be set $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $headers .= 'From: provisioning@kiteworks.com ' . "\r\n"; mail("email@org.com", "Test Email", "Error in email", $headers);
But found that on occasions, the email was being sent as the apache user and the hostname, e.g. www-data@localhost.domain.net. On more investigation, I found that setting up the from recipient in the additional parameter in mail function is better than passing it on the header. So here’s what I finally did which worked successfully. You can look at /var/log/mail.log to see the from address:
mail("email@org.com", "Test Email", "Error in email", $headers, '-fsenderEmail@domain.com');
Advertisements