Changeset 1d8cbca in github for program/steps/mail/func.inc


Ignore:
Timestamp:
Aug 30, 2010 8:08:41 AM (3 years ago)
Author:
alecpl <alec@…>
Branches:
master, HEAD, courier-fix, dev-browser-capabilities, pdo, release-0.6, release-0.7, release-0.8
Children:
33bfe1c
Parents:
01538da
Message:
  • Use host FQDN in Message-Id, if possible (#1486924)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • program/steps/mail/func.inc

    r64233d2 r1d8cbca  
    15451545      'To'   => $message->headers->mdn_to, 
    15461546      'Subject' => rcube_label('receiptread') . ': ' . $message->subject, 
    1547       'Message-ID' => sprintf('<%s@%s>', md5(uniqid('rcmail'.mt_rand(),true)), $RCMAIL->config->mail_domain($_SESSION['imap_host'])), 
     1547      'Message-ID' => rcmail_gen_message_id(), 
    15481548      'X-Sender' => $identity['email'], 
    15491549      'References' => trim($message->headers->references . ' ' . $message->headers->messageID), 
     
    15841584 
    15851585  return false; 
     1586} 
     1587 
     1588// Returns unique Message-ID 
     1589function rcmail_gen_message_id() 
     1590{ 
     1591  global $RCMAIL; 
     1592 
     1593  $local_part  = md5(uniqid('rcmail'.mt_rand(),true)); 
     1594  $domain_part = $RCMAIL->user->get_username('domain'); 
     1595 
     1596  // Try to find FQDN, some spamfilters doesn't like 'localhost' (#1486924) 
     1597  if (!preg_match('/\.[a-z]+$/i', $domain_part)) { 
     1598    if (($host = preg_replace('/:[0-9]+$/', '', $_SERVER['HTTP_HOST'])) 
     1599      && preg_match('/\.[a-z]+$/i', $host)) { 
     1600        $domain_part = $host; 
     1601    } 
     1602    else if (($host = preg_replace('/:[0-9]+$/', '', $_SERVER['SERVER_NAME'])) 
     1603      && preg_match('/\.[a-z]+$/i', $host)) { 
     1604        $domain_part = $host; 
     1605    } 
     1606  } 
     1607 
     1608  return sprintf('<%s@%s>', $local_part, $domain_part); 
    15861609} 
    15871610 
Note: See TracChangeset for help on using the changeset viewer.