'; }else{ $sendmail_from = ini_get('sendmail_from'); if( empty($sendmail_from) ){ $from = gp_email::From_Address(); $headers[] = 'From: Automated Sender <'.$from.'>'; } } $headers = implode(PHP_EOL,$headers); $headers .= PHP_EOL; // encode subject //=?UTF-8?Q?encoded_text?= // work a round: for subject with wordwrap // not fixed, no possibility to have one in a single char $subject = wordwrap($subject, 25, "\n", FALSE); $subject = explode("\n", $subject); foreach($subject as $key => $value){ $subject[$key] = gp_email::imap_8bit($value); } $subject = implode("\r\n ", $subject); $subject = "=?UTF-8?Q?".$subject."?="; //encode $message = gp_email::imap_8bit($message); if( mail($to, $subject, $message, $headers) ){ return true; } return false; } function From_Address(){ global $config; if( !empty($config['from_address']) ){ return $config['from_address']; } $from = ini_get('sendmail_from'); if( !empty($sendmail_from) ){ return $from; } $server = \gp\tool::ServerName(true); if( !$server === false ){ $server = 'localhost'; } return 'AutomatedSender@'.$server; } function From_Name(){ global $config; if( !empty($config['from_name']) ){ return $config['from_name']; } return 'Automated Sender'; } function Mail_Method(){ global $config; if( !empty($config['mail_method']) ){ if( $config['mail_method'] == 'smpt' ){ //bug in 1.7 return 'smtp'; } return $config['mail_method']; } return 'mail'; } function imap_8bit(&$text){ if( function_exists('imap_8bit') ){ return imap_8bit($text); } return gp_email::quoted_printable_encode($text); } function quoted_printable_encode($sText,$bEmulate_imap_8bit=true) { // split text into lines $aLines=explode(chr(13).chr(10),$sText); for ($i=0;$i