你有delphi6吗?有空给你做一个比较完整的例子。

解决方案 »

  1.   

    '[email protected]'; //发信人的电子邮件地址
    1.这里错了,因发邮件一定要找一个支持发邮件的服务器,如在outlook中只要间单添加就能发邮件的,那么你也能发
    2.如果你是通过代理服务器发邮件,那么代理服务器要开启这项服务才能行呀
      

  2.   

    上面的这些代码是我写的,代码是没有错误的,我刚才还试了一下,可以发的,我做了注释的那些地方需要你换成你自己的信箱名和密码,Nmsmtp1.Host :='smtp.sohu.com';这里的HOST是你的发邮件的服务器, nmsmtp1.UserID :='linbch';是你在这个服务器上的用户名,必须是真实的,nmsmtp1.PostMessage.FromAddress:='[email protected]'; 是你在这个服务器上的电子邮件地址, 
    if nmsmtp1.ReplyNumber = 250 then
      label1.caption:=nmsmtp1.Transaction('auth login'); //开始认证
    if nmsmtp1.ReplyNumber =334 then //返回值为334,让你输入用BASE64编码后的用户名
      label1.caption:=nmsmtp1.Transaction('YWFhYWE=');// 用户名aaaaa
    你先用EncodeBase64 将你的用户名编码,生成BASE64码,上面括号中的是一个假设,你不是就用它吧?同样,下面括号中的是根据你的密码生成的BASE64码,要用你自己的!
    Transaction('')括号中的就是用编码函数 EncodeBase64('你自己的用户名或密码')生成的,
    解码函数在这儿没有用,我是用来测试我的编码函数是否正确的。
    if nmsmtp1.ReplyNumber =334 then  // 返回值为334,让你输入用BASE64编码后的用户密码
      label1.caption:=nmsmtp1.Transaction('MTIzNDU2'); //密码为123456
    if nmsmtp1.ReplyNumber =235 then
    begin
      label1.caption:='successful';
      AuthSucc:=true;
    end;
            
                
      

  3.   

    linzi(林子) :
    上面的代码是sundayboys(sunboy)在一个帖子上发给我的,到底是谁写的 ?
    谢谢你的回答,但是好象和没有回答一样!
    你的用户名不是linbch吗?怎么成了aaaaa?
    我虽然幼稚,但也不至于用了“括号里的假设”吧。
    代码和注释已经很清晰了,你又何必再重复。
    不管怎么说,谢谢你。
      

  4.   

    代码是我写的,不是和你说了吗?把所有的用户名和密码换成你自己的!
    你去http://www.csdn.net/expert/topic/99/99801.shtm 看看
      

  5.   

    Nmsmtp1.Host :='smtp.sohu.com';这里的HOST是你的发邮件的服务器, nmsmtp1.UserID :='linbch';是你在这个服务器上的用户名,必须是真实的,nmsmtp1.PostMessage.FromAddress:='[email protected]'; 是你在这个服务器上的电子邮件地址, 
    if nmsmtp1.ReplyNumber = 250 then
      label1.caption:=nmsmtp1.Transaction('auth login'); //开始认证
    if nmsmtp1.ReplyNumber =334 then //返回值为334,让你输入用BASE64编码后的用户名
      label1.caption:=nmsmtp1.Transaction(EncodeBase64('你的用户名)); );// 用户名aaaaa
    你先用EncodeBase64 将你的用户名编码,生成BASE64码,上面括号中的是一个假设,你不是就用它吧?同样,下面括号中的是根据你的密码生成的BASE64码,要用你自己的!
    Transaction('')括号中的就是用编码函数 EncodeBase64('你自己的用户名或密码')生成的,
    解码函数在这儿没有用,我是用来测试我的编码函数是否正确的。
    if nmsmtp1.ReplyNumber =334 then  // 返回值为334,让你输入用BASE64编码后的用户密码
      label1.caption:=nmsmtp1.Transaction(EncodeBase64('你的密码')); //密码为123456
    if nmsmtp1.ReplyNumber =235 then
    begin
      label1.caption:='successful';
      AuthSucc:=true;
    end;哈哈,俺看这样能行!
    这两天我才看协议方面的,林子兄,有了问题请教你呀!
      

  6.   

    哥们有时间和我联系,我最近刚写了一个
    [email protected]
      

  7.   

    这个问题我已经解决了,感谢各位的帮助,尤其感谢cszhz(丑小鸭)发给我了一个邮件发送程序源码。