| | |
| | | 'From' => $sender, |
| | | 'To' => $message->headers->mdn_to, |
| | | 'Subject' => rcube_label('receiptread') . ': ' . $message->subject, |
| | | 'Message-ID' => sprintf('<%s@%s>', md5(uniqid('rcmail'.mt_rand(),true)), $RCMAIL->config->mail_domain($_SESSION['imap_host'])), |
| | | 'Message-ID' => rcmail_gen_message_id(), |
| | | 'X-Sender' => $identity['email'], |
| | | 'References' => trim($message->headers->references . ' ' . $message->headers->messageID), |
| | | ); |
| | |
| | | return false; |
| | | } |
| | | |
| | | // Returns unique Message-ID |
| | | function rcmail_gen_message_id() |
| | | { |
| | | global $RCMAIL; |
| | | |
| | | $local_part = md5(uniqid('rcmail'.mt_rand(),true)); |
| | | $domain_part = $RCMAIL->user->get_username('domain'); |
| | | |
| | | // Try to find FQDN, some spamfilters doesn't like 'localhost' (#1486924) |
| | | if (!preg_match('/\.[a-z]+$/i', $domain_part)) { |
| | | if (($host = preg_replace('/:[0-9]+$/', '', $_SERVER['HTTP_HOST'])) |
| | | && preg_match('/\.[a-z]+$/i', $host)) { |
| | | $domain_part = $host; |
| | | } |
| | | else if (($host = preg_replace('/:[0-9]+$/', '', $_SERVER['SERVER_NAME'])) |
| | | && preg_match('/\.[a-z]+$/i', $host)) { |
| | | $domain_part = $host; |
| | | } |
| | | } |
| | | |
| | | return sprintf('<%s@%s>', $local_part, $domain_part); |
| | | } |
| | | |
| | | // Returns RFC2822 formatted current date in user's timezone |
| | | function rcmail_user_date() |
| | | { |