отправка писем: проблема с аттачами в Outlook'e

ayrat9

Новичок
отправка писем: проблема с аттачами в Outlook'e

Собственно проблема в том, что в Outlooke, в отличие от Бата, не отображаются аттачи.

Да и размер письма усыхает: впечатление такое как будто встроенный фильтр работает.

Вопрос возможно и не по теме этого форума, но может кто сталкивался с подобным?
И, кстати, как исходный текст письма посмотреть в аутлуке?
 

DiMA

php.spb.ru
Команда форума
Сделай в оутлуке экспорт письма в текстовый файл почтового формата и подумай, есть ли разница с тем, что отправлял.
 

ayrat9

Новичок
Дима, отправка шла с одного и того же сайта, специально отослал ОДНО И ТО ЖЕ письмо на 2 адреса (тк у меня в ящиках стоят опции удалять письмо с сервера) и открыл один ящик в Бате, другой в аутлуке. В бате все нормально и с картинками в теле письма и с аттачами. Аутлук же показывает только само тело пиьма, хорошо еще хоть с картинками. Об аттачах же ни слова, ни предупреждения, ни значка прикрепл файлов.
 

DiMA

php.spb.ru
Команда форума
Тебе дано указание. Выполняй его, рассужения - потом.
 

ayrat9

Новичок
Outlook 2002
----------------

Экспортировал в файл с разделителем табуляцией (windows)

РАЗНИЦА ЕСТЬ !!
Могу выложить исходный текст простенького письма без картинок, но с аттачами, который я взял из бата и ты поймешь наверно в чем она.

К сожалению, не знаю как в аутлуке исходный текст письма увидеть

-~{}~ 02.06.05 18:03:

исходник письма в The bat 3.x
=====================

Return-Path: <[email protected]>
Received: from [81.19.66.115] (HELO mx5.rambler.ru)
by mail7.rambler.ru (CommuniGate Pro SMTP 4.2.10)
with ESMTP id 5085357 for [email protected]; Thu, 02 Jun 2005 17:49:28 +0400
Received-SPF: none (mx5.rambler.ru: 80.68.240.103 is neither permitted nor denied by domain of webhosting-nox.rbc.ru) client-ip=80.68.240.103; [email protected]; helo=relay.rbc.ru;
Received: from relay.rbc.ru (relay.rbc.ru [80.68.240.103])
by mx5.rambler.ru (Postfix) with ESMTP id 080E222DD99
for <[email protected]>; Thu, 2 Jun 2005 17:49:27 +0400 (MSD)
(envelope-from [email protected])
Received: from nox.rbc.ru ([80.68.242.65]:46856 "EHLO nox.rbc.ru")
by relay.rbc.ru with ESMTP id S3226688AbVFBNsi (ORCPT
<rfc822;[email protected]>); Thu, 2 Jun 2005 17:48:38 +0400
Received: from nox.rbc.ru (localhost [127.0.0.1])
by nox.rbc.ru (8.13.3/8.12.11) with ESMTP id j52DmbJX090895
for <[email protected]>; Thu, 2 Jun 2005 17:48:37 +0400 (MSD)
(envelope-from [email protected])
Received: (from nobody@localhost)
by nox.rbc.ru (8.13.3/8.13.1/Submit) id j52DmbF3090893;
Thu, 2 Jun 2005 17:48:37 +0400 (MSD)
(envelope-from nobody)
Date: Thu, 2 Jun 2005 17:48:37 +0400 (MSD)
Message-Id: <[email protected]>
To: [email protected]
Subject: Тестовое письмо №3
From: MSS <[email protected]>
X-Mailer: The Bat!
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=_e97b303c3ddf5e0d3b9de3ba58877fd1"

--=_e97b303c3ddf5e0d3b9de3ba58877fd1
Content-Type: text/html; charset=Windows-1251
Content-Transfer-Encoding: 8bit




<html><head><title>Тестовое письмо №3</title></head><body><font color="#77779f"> &gt; &gt; а винды XP</font><br />ОК, пусть будет Microsoft Outlook
<br />Как уже было сказано:
<br />Сервис-Параметры-Безопасность-Безопасность вложений (2 варианта):
<br />1.Проверять (рекомендуется)
<br />2.Не проверять (Не рекомендуется)
<br />
<br /><font color="#77779f">&gt; Сервис-&gt;Параметры закладка &quot;Безопасность&quot; Галочка &quot;Не</font><br /><font color="#77779f">&gt; разрешать сохранение или открытие вложений, которые могут</font><br /><font color="#77779f">&gt; содержать вирусы&quot;</font><br /><font color="#77779f">&gt; у меня эта опция работает нормально, вы какими АутЛуками</font><br /><font color="#77779f">&gt; пользуетесь??</font><br />сабж</body></html>

--=_e97b303c3ddf5e0d3b9de3ba58877fd1
Content-Type: application/octet-stream; name="phrases_plumber.xls"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="phrases_plumber.xls"
Content-ID: <783f7ef43af80ddfcda282ec0b7f2157>

0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAIAAAAAAAAAAA
EAAA/v///wAAAAD+////AAAAAB8AAAD/////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
//////////////////
... [здесь я вырезал кусок] ...
AAAAAAAAAAAAAAAAAAAAAAADwAA
AAAQAAAAAAAABQBEAG8AYwB1AG0AZQBuAHQAUwB1AG0AbQBhAHIAeQBJAG4AZgBvAHIAbQBhAHQA
aQBvAG4AAAAAAAAAAAAAADgAAgH///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAXAAAAABAAAAAAAAA=

--=_e97b303c3ddf5e0d3b9de3ba58877fd1
Content-Type: application/octet-stream; name="emails_2.csv"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="emails_2.csv"
Content-ID: <1e1d09d34fc04769c128f2cea4f0e6a7>

DQpheXJhdDlAcmFtYmxlci5ydQ0KYXJpa19hdF93b3JrQHJhbWJsZXIucnUNCg==
--=_e97b303c3ddf5e0d3b9de3ba58877fd1--

-~{}~ 03.06.05 14:54:

вопрос жизни и смерти: помогите найти решение устраивающее и The Bat, и Outlook 2002
 

DiMA

php.spb.ru
Команда форума
При отправке письма сохрани в файл. После получения в почтовой программе экспортируй в файл. Если файлы одинаковы (кроме заголовков доставки), то причина в кривости присоединении аттачей. Если файлы разные, значит почтовый сервер или почтовая программа их конвертировали (повырезали куски), от того письмо выглядит иначе и аттачи изначально присоединены верно.

Для создания писем используй pear.php.net -> mime.
 

ayrat9

Новичок
Дима, эта конвертация не имеет смысла, т.к. пример исходного письма который я привел выше абсолютно такой, каким я и формировал его (включая почти все заголовки, тело письма, расстановку границ).

Я не могу использовать pear->mime поскольку мой скрипт представляет собой нечто вроде маленькой спам-машинки (естественно в рамках закона). В качестве основы я использовал небезызвестный тебе код Antonio, который был опубликован (кажется даже на подведомственном тебе ресурсе). В этой машинке я знаю все винтики, а смогу ли в краткие сроки приспособить под это дело pear-класс миме - не уверен.

Я предполагаю, что для Outlook'a необходима какая-то особенная расстановка границ (boundaries) и заголовков блоков письма. Поскольку в почтовике the Bat! (ver. 3.x) все отправляемые моим скриптом письма выглядят как надо: в html виде, с внедренными картинками и праттаченными файлами; в отличие от изделия Microsoft, в котором можно увидеть только HTML-письмо с внедренными картинками.

Если я прав, на что ты косвенно указал:
причина в кривости присоединении аттачей
то укажи плиз, где можно прочитать о спецификациях формирования письма для Outlook'a?

-~{}~ 22.06.05 19:21:

Почти во всем разобрался - все работает.
Но есть один нерешенный вопрос: он касается функции chunk_split()
----------------------
Примечание:

Функция используется для разбиения строки на фрагменты, например, для приведения результата функции base64_encode в соответствие с требованиями RFC 2045.

----------------------

В общем, у меня функция base64_encode() использовалась для кодирования тела приаттаченного файла или внедренной картинки. Однако в процессе эксплуатации скрипта выяснилось, что у разных хостеров (мастерхост и РБК) то нужно применять дополнительно chunk_split(), то наоборот - не нужно.

Пожалуйста подскажите, есть ли какой-то осязаемый параметр, зная который, я могу в скрипте определять нужно или нет вызывать функцию chunk_split()&
 
Сверху