3

Вот уже несколько дней это сводит меня с ума. У меня есть электронная почта Если я отправляю его с сервера Windows Server 2003 через MailEnable, определенный человек получает его с помощью Outlook 2003. Однако, если я отправляю точно такое же сообщение с сервера Ubuntu 10, использующего SSMTP для ретрансляции электронной почты в ту же самую очередь MailEnable, получатель получает испорченное электронное письмо. Есть все виды "=" повсюду. Точно такая же электронная почта отлично смотрится на моем компьютере с Ubuntu, а также на моем Mac и на всех компьютерах с Windows/Mac, которые находятся здесь на работе. Вот выдержка из копии, которую они получают:

КОМПАНИЯ общалась с КОМПАНИЕЙ, когда Агентство работало над разработкой разрешения КОМПАНИИ, зная, что это повлияет на применение водных пестицидов. Но в декабре КОМПАНИЯ сообщила нам, что разрешение КОМПАНИИ будет также охватывать любые применения пестицидов, сделанные "на или рядом с любой водой или водой". Они описали сценарий, в котором для применения пестицидов в поле или на пастбище с водным путем или в канаве (даже если водный путь или канава были сухими) потребуется разрешение КОМПАНИИ. Это означало, что для большинства применений пестицидов, предназначенных для сельскохозяйственных культур, потребуется разрешение КОМПАНИИ, и оно должно соответствовать всем обременительным требованиям к оформлению документов плюс все записи по применению пестицидов будут доступны для ознакомления общественности. ,

Что на Земле происходит? Я использую PHP Mail_Mime для отправки почты, если это имеет значение.

Я попытался протестировать это на собственном нетбуке, работающем под управлением XP и Outlook 2003, так же, как и они, и это выглядит нормально. К сожалению, это происходит для более чем одного человека, с разными компаниями, в разных штатах. Это может быть вещь Outlook? Или брандмауэр?

ОБНОВЛЕНИЕ: Вот заголовки, которые они прислали мне, когда я запросил их ранее:

Return-Path: <EMAIL@SITE.com>
Received: from SITE (SITE.com [IP])
by SITE.com (SMTP Server) with ESMTP id ID
for <EMAIL@SITE.com>; Fri, 18 Feb 2011 16:38:05 -0500 (EST)
X-Virus-Scanned: OK
X-MessageSniffer-Scan-Result: 0
X-MessageSniffer-Rules: 0-0-0-10711-c
X-CMAE-Scan-Result: 0
X-CNFS-Analysis: v=1.0 c=1 a=fpbBW95AU7UA:10 a=V-86MDL6o3cA:10 a=2Mw0Nu_bH78A:10 a=8nJEP1OIZ-IA:10 a=3kJrlQ3aEg89S9maSudBQQ==:17 a=Ww5RAa15AAAA:8 a=JX_BoxCjAAAA:8 a=JcDirsyPbdX-XEqaAUgA:9 a=ngHfobyUGqXcY9kSWnIA:7 a=05uKYfN37foODCkO7ME1CkFJn8MA:4 a=wPNLvfGTeEIA:10 a=gArCrrCDqOYA:10 a=ePQ_FuT6AdwA:10 a=73nFPGVr2tkA:10
Received: from [IP] ([IP:PORT] helo=GATE)
by SITE.com (envelope-from <EMAIL@SITE.com>)
(ecelerity 2.2.3.46 r(37554)) with ESMTPS (cipher=AES256-SHA) 
id ID; Fri, 18 Feb 2011 16:38:05 -0500
X-Spam-Threshold: 95
X-Spam-Score: 0
X-Spam-Flag: NO
X-Virus-Scanned: OK
X-MessageSniffer-Scan-Result: 0
X-MessageSniffer-Rules: 0-0-0-9968-c
X-CMAE-Scan-Result: 0
X-CNFS-Analysis: v=1.0 c=1 a=V-86MDL6o3cA:10 a=2Mw0Nu_bH78A:10 a=8nJEP1OIZ-IA:10 a=JT1tiycblF0oPc1pVibdeg==:17 a=Ww5RAa15AAAA:8 a=JX_BoxCjAAAA:8 a=JcDirsyPbdX-XEqaAUgA:9 a=ngHfobyUGqXcY9kSWnIA:7 a=05uKYfN37foODCkO7ME1CkFJn8MA:4 a=wPNLvfGTeEIA:10 a=gArCrrCDqOYA:10 a=ePQ_FuT6AdwA:10 a=73nFPGVr2tkA:10
X-Orig-To: EMAIL@SITE.com
X-Originating-Ip: [IP]
Received: from [IP] ([IP:PORT] helo=SITE.com)
by SITE.com (envelope-from <EMAIL@SITE.com>)
(ecelerity 2.2.3.46 r(37554)) with ESMTP
id ID; Fri, 18 Feb 2011 16:33:03 -0500
Received: from mailserver ([IP]) by SITE.com with MailEnable ESMTP; Fri, 18 Feb 2011 15:32:59 -0600
Message-ID: <ID@SITE.com>
Received: by mailserver (sSMTP sendmail emulation); Fri, 18 Feb 2011 15:31:55 -0600
Date: Fri, 18 Feb 2011 15:31:55 -0600
To: EMAIL@SITE.com
Subject: SUBJECT
X-PHP-Originating-Script: 1000:mail.php
MIME-Version: 1.0
From: PERSON <EMAIL@SITE.com>
Reply-To: PERSON <EMAIL@SITE.com>
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="ISO-8859-1"

2 ответа2

1

Я никогда не понимал, в чем проблема, но благодаря PEAR, использующему кодировку base64, сейчас все выглядит хорошо.

Спасибо всем.

1

Наверное, должен быть комментарий, но он слишком длинный.

Рад, что он у вас отсортирован, но если вам интересно, почему это произошло, читайте дальше.

Ваши заголовки говорят, что электронные письма отправляются «цитируемыми для печати». Предполагается, что этот формат является одним из методов обеспечения правильной отправки электронных писем, даже если они проходят через старые почтовые серверы, которые предполагают, что в каждой строке будет не более 76 символов. Чтобы сделать это, он вставит свои собственные возвраты каретки, когда он думает, что это необходимо, и где бы он это ни делал, он добавляет знак равенства. Что должно произойти на другом конце, так это то, что почтовый клиент видит, что электронная почта цитируется и печатается, и удаляет знак равенства и дополнительный возврат каретки.

Возможно, что PHP-подпрограммы не совсем корректны с их кодировкой, которая может что-то сбить с толку где-то по пути, который переводит электронную почту не так, как ваш сервер / клиент.

Как вы узнали, использование другого метода кодирования позволяет избежать этой проблемы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .