I am using the following code for sending an email with a plain text and html content:
PHP Code:
$headers = "From: $fromaddress\r\n";
//specify MIME version 1.0
$headers .= "MIME-Version: 1.0\r\n";
//unique boundary
$boundary = uniqid("SIGNUP");
//tell e-mail client this e-mail contains//alternate versions
$headers .= "Content-Type: multipart/alternative; boundary = $boundary\r\n\r\n";
//message to people with clients who don't
//understand MIME
$headers .= "This is a MIME encoded message.\r\n\r\n";
//plain text version of message
$headers .= "--$boundary\r\n"."Content-Type: text/plain; charset=ISO-8859-1\r\n"."Content-Transfer-Encoding: base64\r\n\r\n";
$headers .= chunk_split(base64_encode("$emailplain"));
//HTML version of message
$headers .= "--$boundary\r\n"."Content-Type: text/html; charset=ISO-8859-1\r\n"."Content-Transfer-Encoding: base64\r\n\r\n";
$headers .= chunk_split(base64_encode("$emailhtml"));
//close boundary
$headers .= "--$boundary\r\n";
mail($email,"User Signup","",$headers);
I have used this code on another site a long time ago but cannot seem to get it working here. When I do use it here, the email that gets returns is this:
Code:
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary = SIGNUP4453611fc73d5
This is a MIME encoded message.
--SIGNUP4453611fc73d5
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: base64
VGhhbmsgeW91IGZvciBzaWduaW5nIHVwIHRvIFRoZSBHb2RsZXNzIEd1aWxkLmNvLnVrLiBZb3Ug
YWNjb3VudCB3aWxsIGJlIGFjdGl2YXRlZCB3aGVuIHlvdSBnb3RvIHRoaXMgYWRkcmVzcw0KaHR0
cDovL3d3dy50aGVnb2RsZXNzZ3VpbGQuY28udWsvaW5jbHVkZXMvdXNlcl9hZG1pbi5waHA/YT1h
Y3RpdmF0ZSZjb21wbGV0ZT1tZW1iZXJhY3RpdmF0ZSZncm91cD1zdGFuZGFyZCZ1PWFuZHJldyZj
b2RlPWY3NzBiMjA0NTk2NTMxMzdlZjE2Yzk0YmNiY2U5NzlmDQoNClBsZWFzZSBjb3B5IGFuZCBw
YXN0ZSB0aGlzIGxpbmsgaW50byB5b3VyIGJyb3dzZXIuDQoNClJlZ2FyZHMsDQoNClRoZSBHb2Rs
ZXNzIEd1aWxkDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N
Cg0KSWYgeW91IGV4cGVyaWVuY2UgYW55IHByb2JsZW1zIHNpZ25pbmcgdXAgcGxlYXNlIGNvbnRh
Y3Qgd2VibWFzdGVyQHRoZWdvZGxlc3NndWlsZC5jby51aw0K
--SIGNUP4453611fc73d5
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: base64
VGhhbmsgeW91IGZvciBzaWduaW5nIHVwIHRvIFRoZSBHb2RsZXNzIEd1aWxkLmNvLnVrLiBZb3Ug
YWNjb3VudCB3aWxsIGJlIGFjdGl2YXRlZCB3aGVuIHlvdSBjbGljayB0aGUgZm9sbG93aW5nIGxp
bmsNCjxBIEhSRUY9Imh0dHA6Ly93d3cudGhlZ29kbGVzc2d1aWxkLmNvLnVrL2luY2x1ZGVzL3Vz
ZXJfYWRtaW4ucGhwP2E9YWN0aXZhdGUmdT1hbmRyZXcmY29kZT1mNzcwYjIwNDU5NjUzMTM3ZWYx
NmM5NGJjYmNlOTc5ZiI+aHR0cDovL3d3dy50aGVnb2RsZXNzZ3VpbGQuY28udWsvaW5jbHVk
NmM5NGJjYmNlOTc5ZiI+ZXMv
dXNlcl9hZG1pbi5waHA/YT1hY3RpdmF0ZSZjb21wbGV0ZT1tZW1iZXJhY3RpdmF0ZSZncm91cD1z
dGFuZGFyZCZ1PWFuZHJldyZjb2RlPWY3NzBiMjA0NTk2NTMxMzdlZjE2Yzk0YmNiY2U5NzlmPC9B
Pg0KDQpSZWdhcmRzLA0KDQpUaGUgR29kbGVzcyBHdWlsZA0KDQotLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCklmIHlvdSBleHBlcmllbmNlIGFueSBwcm9ibGVt
cyBzaWduaW5nIHVwIHBsZWFzZSBjb250YWN0IDxBIEhSRUY9Im1haWx0bzp3ZWJtYXN0ZXJAdGhl
Z29kbGVzc2d1aWxkLmNvLnVrIj53ZWJtYXN0ZXJAdGhlZ29kbGVzc2d1aWxkLmNvLnVrPC9BPg0K
--SIGNUP4453611fc73d5
As you can see I get all the headers and the text - not a correctly formatted email. Can anyone see where I am going wrong?