在本版及其他地方下载了一些VC++直接发送Email的源码工程,但都没有用户名和密码验证部分的代码,现在特求SMTP验证的发邮件的代码(VC++工程),要保证能正确编译,能正确运行,并请简单说明一下代码的用法,
收到后测试可行即给分!   
    
  [email protected] 

解决方案 »

  1.   

    在那里下载了一个 SendMail,里面没有验证用户名代码
      

  2.   

    简单的ESMTP验证用户名实际上就只是把原来发送的HELO改为EHLO,然后发送AUTH指令,进行身份较验,其它都一样。
      

  3.   

    可以参考一下我的blog当中早年使用C++Builder写的代码,流程上是一样的。
      

  4.   


    S: 220 smtp.wp.pl ESMTP
    C: EHLO: mydomain.com
    S: 250-smtp.wp.pl
       250-PIPELINING
       250-AUTH=LOGIN PLAIN
       250-AUTH LOGIN PLAIN
       250-STARTTLS
       250-SIZE
       250-X-RCPTLIMIT 100
       250-8BITMIME
    C: AUTH LOGIN
    S: 334 VXNlcm5hbWU6
    C: xxx
    S: 334 UGFzc3dvcmQ6
    C: xxx
    S: 235 go ahead
    C: MAIL FROM:<[email protected]>
    S: 250 ok
    C: RCPR TO:<[email protected]>
    S: 250 ok
    C: DATA
    S: 234 go ahead
    C: Date: Sun, 24 Aug 2008 22:43:45
     
      

  5.   


    好像没有这么简单,里面有base64的字符转换等
      

  6.   

    http://topic.csdn.net/u/20070720/11/9176d247-5fb8-4e53-a0e1-1cb96580d67b.html
      

  7.   

    不懂base64转换,对Socket也不太懂,所以直接索要工程代码是最快捷的了
      

  8.   

    一组实现邮件发送功能的C++封装类 — SMailer http://www.vckbase.com/document/viewdoc/?id=703 
    注意下再编译后,有错误,请参看 http://morningspace.51.net/resource/SMailerFAQ.html 
    另外:在给163等邮箱发送时,需要修改函数如下: MailSender::MailSender(const std::string server_name, 
                           const std::string user_name, 
                           const std::string user_pwd)
        : _server_name(server_name), _user_name(user_name), 
          _user_pwd(user_pwd), _mail(0)
    {
        conn();    hello();    if ( !user_name.empty() )
            login();}
      

  9.   

    我是受到此帖启发
    http://topic.csdn.net/t/20050315/13/3852110.html
    他只给了60分,我现在送100分