7/24/2016

Axapta : Send mail to zimbra

Axapta : Send mail to zimbra
Job Test

static void Job6(Args _args)
{
 
    SysMailer   mail;
 
    str         strBody = "Test send mail From Axapta. ·´ÊͺÊè§àÁÅì¨Ò¡ Axapta à»ç¹ÀÒÉÒä·Â";
    str         strSubject = "Mail From Axapta.";
    sysMailerCustomHeaders          headers;
    ;
 
    mail = new SysMailer();
    mail.SMTPRelayServers().add("zimbra.sci.com");
    mail.fromAddress("suwit_j@sci.com");
    mail.tos().add("suwit_j@sci.com"); //Send 1
    //mail.tos().add("suwit_j@sci.com"); //Send 2
    //mail.tos().add("suwit_j@sci.com"); //Send 3
    // Set Font Thai.
    headers = mail.customHeaders();
    headers.add('Content-Type', 'text/plain; charset=windows-874');
 
    // Build the Message
    mail.htmlBody(strBody);
    mail.subject(strSubject);
 
    mail.sendMail();
   
box::info("Send Mail Complete.");
 
}
 
*** เครื่อง ที่จะ Run และส่ง Mail ได้ ต้อง Register DSMailer.dll ที่เครื่องก่อน

ถ้าไม่ได้ Register จะ Error : com object of class 'dundas.mailer'
1. ให้ Register file DSMailer.dll โดย Copy ไฟล์จาก C:\AxaptaSP4\Axapta Client\Bin
2. ไปไว้ที่ windows\system32 ถ้า 64bit เข้าไปที่ c:\windows\sysWOW64\
3. เปิด cmd ด้วยสิทธิ์ Admin
4. CD c:\windows\sysWOW64\ หรือ c:\windows\system32
5. run คำสั่ง regsvr32 DSMailer.dll
ถ้าเป็น Windows XP สามารถ Copy ไฟล์ไป แล้วคลิกขวาเลือก Register ได้เลย ไม่ต้องเข้าผ่าน CMD ก็ได้

เพิ่มเติม
Code แนบๆ ไฟล์
- Code  
mail.attachments().add("C:\\Newfolder\\Drw.pdf");
 
แต่ต้องตัด headers.add('Content-Type', 'text/plain; charset=windows-874'); ออก
- ส่งได้เฉพาะภาษาอังกฤษ ภาษาไทยไม่แสดง
- แต่ถ้าไม่แนบส่งภาษาไทยได้

No comments:

Post a Comment