![]() |
#5 |
Участник
|
![]() Цитата:
X++: void add(str filename, str contentName='', str contentType='', str encodingType='BASE64', str charSet='US-ASCII', str customHeaders='') X++: static void jbAttachLongFileName(Args _args) { SysEmailParameters sysEmailParameters = SysEmailParameters::find() ; SysMailer sysMailer ; TextBuffer textBuffer ; InventTable inventTable ; str fileName ; FileName contentName = "ContentName-ShortString" ; Counter counter ; #define.CharSet( "windows-1251" ) // TODO: прописать реальные почтовые адреса #define.EmailFrom( "email_from@" ) #define.EmailTo( "email_to@" ) #File ; // формирование содержимого файла - 20 позиций InventTable textBuffer = new TextBuffer() ; select inventTable ; for( counter=0; counter<20 && inventTable; counter++ ) { textBuffer.appendText( strfmt( "%1 - %2\n", inventTable.ItemId, inventTable.ItemName ) ) ; next inventTable ; } fileName = strfmt( "%1_%2%3", contentName, strrep( "Xx", 100 ), #txt ) ; info( strfmt( "Длинное имя файла для отправки [%1]: %2", strlen( fileName ), fileName ) ) ; fileName = WinAPI::getTempPath() + fileName ; textBuffer.toFile( fileName ) ; textBuffer.replace( "\n", "<br>" ) ; sysMailer = new SysMailer() ; try { sysMailer.SMTPRelayServers().add( sysEmailParameters.SMTPRelayServerName , sysEmailParameters.SMTPPortNumber , sysEmailParameters.SMTPServerIPAddress , sysEmailParameters.SMTPUserName , sysEmailParameters.SMTPPassword ) ; sysMailer.fromAddress( #EmailFrom ) ; sysMailer.tos().add( #EmailTo ) ; sysMailer.subject( "InventTable" ) ; sysMailer.HTMLBodyCharSet( #CharSet ) ; sysMailer.htmlBody( textBuffer.getText() ) ; sysMailer.attachments().add( fileName, contentName + #txt ) ; sysMailer.sendMail() ; } catch { exceptionTextFallThrough() ; } }
__________________
Dynamics AX 4.0 SP2 |
|
|
За это сообщение автора поблагодарили: SIrina (1), dmitrybarynov (1). |
|
|