////////////////////////////////////////////////////////////////////////////// // SMTPClient / Send Mail Transfer Protocol implementation // Version 1.0 // // NOTE : Each API is synchronized with reaction of connected mail server // You must linking 'ws2_32.lib' //---------------------------------------------------------------------------- // Built in Server Engine part, Research & Development, Webzen #ifndef __SMTPClient_H #define __SMTPClient_H #define SMTP_DEFAULT_PORT 25 #define SMTP_MAXRECEIVERCOUNT 64 //================================================================================================= /// SMTP¸¦ »ç¿ëÇÏ¿© ¸ÞÀϼ­¹ö·Î Á÷Á¢ Á¢¼ÓÈÄ ¸ÞÀÏÀ» Àü¼ÛÇÑ´Ù. /** @author Server Engine part, Research & Development, Webzen @since 2005. 2. 7 @remarks ÁöÁ¤µÈ ¸ÞÀÏ ¼­¹ö·Î Á¢¼ÓÇÏ¿© ¸ÞÀÏÀ» Àü¼ÛÇÑ´Ù. µ¿½Ã¿¡ n¸í¿¡°Ô º¸³¾ ¼ö ÀÖÀ¸¸ç, ÷ºÎÆÄÀÏÀ» µî·ÏÇÒ ¼ö ÀÖ´Ù. - SMTPClient.h¸¦ includeÇϱâ Àü¿¡ ¾Õ¼­ Windows.h¸¦ includeÇØ¾ß ÇÑ´Ù. @note ÀÌ Å¬·¡½ºÀÇ ¸ðµç ¸Þ¼­µå´Â µ¿±â½Ä ³×Æ®¿öÅ© Åë½ÅÀ» ÇÑ´Ù. ±×·¯±â ¶§¹®¿¡ ³×Æ®¿öÅ©ÀÇ »óȲ, ¿äûÇÑ ÀÛ¾÷ÀÇ Å©±â µî¿¡ µû¶ó È£ÃâµÈ ¸Þ¼­µåÀÇ ¹ÝȯÀÌ ´À·ÁÁú ¼ö ÀÖ´Ù. */ //================================================================================================= class SMTPClient { public: SMTPClient(); ~SMTPClient(); BOOL Connect( LPCTSTR ipAddress, LPCTSTR userName = 0, LPCTSTR password = 0, u_short portNo = SMTP_DEFAULT_PORT ); BOOL Disconnect(); BOOL MailFrom( LPCTSTR fromNick, LPCTSTR fromEMail ); BOOL MailTo( LPCTSTR to ); BOOL MailContents( LPCTSTR subject, LPCTSTR body ); BOOL MailAttachFile( LPTSTR fileName ); BOOL MailSubmit(); private: BOOL MailLogin( LPCTSTR userName, LPCTSTR password ); BOOL CheckResponse( BYTE type ); LPVOID m_instanceSocket; LPVOID m_mime; TCHAR m_fromEMail[64], m_fromNick[64]; TCHAR m_listReceiver[SMTP_MAXRECEIVERCOUNT][64]; int m_receiverCount; }; #endif