I’m currently using a custom made library at my job. Until just rencently the library was working perfectly. It apparently return false since about today.
The library itself it basically a wrapper around the function mail. It builds the ‘boundaries’ parts and everything.
Since the class is quite big enough I wont post it here … but I’m wondering, what are the reasons in theory of why mail would return false?
- SMTP is set in PHP.ini
- Sender is set in headers
- Sender is int the form of:
sender<sender@email.com> - Everything is sent correctly (body+headers+subject)
- Assume that mail( ) works correctly on the website but on this specific page it just doesn’t. I know it must be comming from me but would be fun to have somewhere to start looking for.
- Oh and yeah the library is undocumented.
[edit] Just found a smaller function and still doesn’t work, I’ll print it out then:
function send_html($from, $email, $subject = 'AUCUN', $message, $cc = '', $bcc ='', $priotity = '3') { $headers = ''; $headers .= 'MIME-Version: 1.0\r\n'; $headers .= 'Content-type: text/html; charset=iso-8859-1\r\n'; if (strpos($from, 'ourwebsite.com') != false || strpos($from, 'rencontresportive.com') != '') { $headers .= 'From: Ourwebsite.com <' . $from . '>\r\n'; } else { $headers .= 'From: ' . $from . ' <' . $from . '>\r\n'; } $headers .= 'X-Sender: <' . $from . '>\r\n'; $headers .= 'X-Priority: ' . $priotity . '\r\n'; $headers .= 'X-Mailer: PHP\r\n'; $headers .= 'Return-Path: <admin@ourwebsite.com>\r\n'; if ($cc != '') { $headers .= 'cc:' . $cc . '\r\n'; } if ($bcc != '') { $headers .= 'bcc:' . $bcc . '\r\n'; } if (mail($email, $subject, $message, $headers)) { return true; } else { return false; } }
I called it with :
send_html(contact@ourwebsite.com, me@me.com, utf8_decode('the subject'), '<h1>test</h1>');
If the class is only a wrapper around the function mail, I would try printing to a file the parameters used when calling the mail function