teebo Posted April 12, 2007 Share Posted April 12, 2007 Hi, I have just signed up to a virtual host plan running with Virtuzzo & Plesk on a Linux. I'm trying to send HTML email via PHP (mail() function) and it is not working. The server receiving the HTML email does not understand that it actually IS an HTML email. I know my script is correct because on other servers it works fine (a copy of the script below). Is there something to enable in the php.ini file or in Qmail or Sendmail. $to = '[email protected]'; $subject = "Email Subject"; $body = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n <head>\n <title>The Title</title>\n </head>\n your message<br />\n Your Message\n </body>\n </html>\n"; $headers = 'MIME-Version: 1.0'."\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1'."\r\n"; $headers .= 'To: '.$name.' <'.$email.'>,' . "\r\n"; $headers .= 'From: Name<[email protected]>'."\r\n"; if(mail($to, $subject, $body, $headers)){ echo "Mail has been sent"; }else{ echo "Mail Failed"; } Please help me.... Thanks in advance. Link to comment https://forums.phpfreaks.com/topic/46701-desperate-need-of-help/ Share on other sites More sharing options...
Guest prozente Posted April 12, 2007 Share Posted April 12, 2007 Try this, I've had mail clients that didn't process the MIME header correctly and the trailing \r\n at the end isn't needed. $to = '[email protected]'; $subject = "Email Subject"; $body = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n <head>\n <title>The Title</title>\n </head>\n your message<br />\n Your Message\n </body>\n </html>\n"; $headers = 'Content-type: text/html; charset=iso-8859-1'."\r\n"; $headers .= 'To: '.$name.' <'.$email.'>,' . "\r\n"; $headers .= 'From: Name<[email protected]>'; if(mail($to, $subject, $body, $headers)){ echo "Mail has been sent"; }else{ echo "Mail Failed"; } Link to comment https://forums.phpfreaks.com/topic/46701-desperate-need-of-help/#findComment-227499 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.