Показать сообщение отдельно
Старый 01.10.2003, 14:45   #1  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,490 / 1060 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Axapta 3, отправка файлов по eMail (КАК ИСПРАВИТЬ)
Начало было тут 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();