Начало было тут
http://www.axforum.info/forums/showt...&threadid=3191
Проблема все равно вылезла.
При отправке файла получается не совсем корректный заголовок. MS Outlook его сглатывает,
www.mail.ru сглатывает, а вот
www.pisem.net .... НЕТ. (Каламбур получился).
Вот чего показывает pisem.net в теле письма:
--Mark=_2003101103226140zXF0cnC
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: Quoted-Printable
--Mark=_2003101103226140zXF0cnC
Content-Type: Application/Octet-stream;
name="_Perevozka.xls"
Content-Transfer-Encoding: BASE64
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAADAAAATwEAAAAAAAAA
[skip]
AgH///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAQAAABAA
AAAAAAD=
--Mark=_2003101103226140zXF0cnC--
PS. Вот как происходит отправка.
PHP код:
static void SendByMail(
str _subject = '',
str _emailAddr,
str _from = '',
str _body = '',
FilenameOpen _attachmentFilename = '')
{
SysMailer mailer = new SysMailer();
SysEmailParameters parameters = SysEmailParameters::find();
sysMailerCustomHeaders headers;
container attachmentdata;
BinData binData;
headers = mailer.customHeaders();
headers.add('Content-Type', 'text/plain; charset=Windows-1251');
mailer.fromAddress(_from);
mailer.fromName(_from);
mailer.subject(_subject);
mailer.body(_body);
if (parameters.DNSServerName)
{
mailer.DNSServers().add(parameters.DNSServerName,
parameters.DNSTCPIPRetryCount,
parameters.DNSUDPRetryCount);
}
if (parameters.SMTPRelayServerName)
{
mailer.SMTPRelayServers().add(parameters.SMTPRelayServerName,
parameters.SMTPPortNumber,
parameters.SMTPServerIPAddress,
parameters.SMTPUserName,
parameters.SMTPPassword);
}
mailer.tos().add(_emailAddr);
if (_attachmentFilename)
{
mailer.attachments().add(_attachmentFilename,_attachmentFilename);
}
mailer.sendMail();
}