@@ -95,8 +95,11 @@ public static function detectMailer(array $headers)
9595 } else if (strpos ($ headers ['x-mailer ' ], 'Apple Mail ' ) !== false ) {
9696 return self ::APPLE_MAIL ;
9797 }
98+ } else if (isset ($ headers ['user-agent ' ])) {
99+ if (strpos ($ headers ['user-agent ' ], 'Microsoft-MacOutlook ' ) !== false ) {
100+ return self ::OUTLOOK ;
101+ }
98102 } else if (isset ($ headers ['message-id ' ])) {
99-
100103 if (strpos ($ headers ['message-id ' ], '@mail.gmail.com ' ) !== false ) {
101104 return self ::GOOGLE_MAIL ;
102105 } else if (strpos ($ headers ['message-id ' ], '@smtp.hushmail.com ' )) {
@@ -115,6 +118,7 @@ public static function detectMailer(array $headers)
115118 } else if (isset ($ headers ['mime-version ' ]) && strpos ($ headers ['mime-version ' ], 'Apple Message framework ' ) !== false ) {
116119 return self ::APPLE_MAIL ;
117120 }
121+
118122 return self ::GENERIC ;
119123 }
120124
@@ -127,8 +131,9 @@ private static function getHeadersRelevantForMailerDetectionEml(Parser &$parser)
127131 return self ::filterHeaders ([
128132 'x-mailer ' => $ parser ->getHeader ('x-mailer ' ),
129133 'message-id ' => $ parser ->getHeader ('message-id ' ),
130- 'Received ' => $ parser ->getHeader ('received ' ),
131- 'Mime-Version ' => $ parser ->getHeader ('mime-version ' ),
134+ 'received ' => $ parser ->getHeader ('received ' ),
135+ 'mime-version ' => $ parser ->getHeader ('mime-version ' ),
136+ 'user-agent ' => $ parser ->getHeader ('user-agent ' ),
132137 ]);
133138 }
134139
@@ -141,8 +146,9 @@ private static function getHeadersRelevantForMailerDetection(array $headers)
141146 return self ::filterHeaders ([
142147 'x-mailer ' => $ headers ['x-mailer ' ],
143148 'message-id ' => $ headers ['message_id ' ],
144- 'Received ' => $ headers ['Received ' ],
145- 'Mime-Version ' => $ headers ['Mime-Version ' ],
149+ 'received ' => $ headers ['Received ' ],
150+ 'mime-version ' => $ headers ['Mime-Version ' ],
151+ 'user-agent ' => $ headers ['User-Agent ' ],
146152 ]);
147153 }
148154
0 commit comments