CSDN=>FAQ=>FAQ 展示
  • 问题内容:修改一个在线邮件发送的问题(CDONTS组件)50-100元人民币(在线等待焦急)
  • 原讨论链接:http://community.csdn.net/expert/topicview1.asp?id=5036909
  • 所属论坛:ASP     审核组:WEB开发
  • 提问者:onlyboat     解决者:richwong
  • 感谢:wofengle richwong richwong sdjnliuxu mezzi100 itzhiren dalier2006 windwl keenx
  • 关键字:ASP Web 开发 set end 组件 发信 response.write frommail mailsubject tomail jmail
  • 答案:

    <% 
    '发送
    set rs=server.createobject("adodb.recordset") 
    sql="select * from email "
    rs.open sql,conn,1,3  

    '读取默认的邮件标题及内容 
    set rs1=server.createobject("adodb.recordset")
    sql1="select * from maildefault "
    rs1.open sql1,conn,1,3  

    '设置发信人
    frommail=request("frommail")
    if frommail="" then
    frommail=rs1("frommail")
    end if

    '设置邮件主题
    mailsubject=request("mailsubject")
    if mailsubject="" then
    mailsubject=rs1("mailsubject")
    end if

    '设置邮件内容
    mailbody=request("mailbody")
    if mailbody="" then
    mailbody=rs1("mailbody")
    end if

    '判断对谁发信
    tomail=request("tomail")
    '写发信信息
    response.write "发信人地址: "&frommail
    response.write "<br><br><br>"
    if tomail<>"" then
    response.write "收信人地址:"&tomail
    else
    response.write "正在进行邮件群发!"
    end if

    if tomail<>"" then
    '对于单一用户发信
    Set objCDOMail = Server.CreateObject("CDONTS.NewMail")
    objCDOMail.From = frommail
    objCDOMail.To = tomail
    objCDOMail.Subject = mailsubject  
    objCDOMail.Body = mailbody   
    objCDOMail.Send
    Set objCDOMail = Nothing
    else

    '对于在用户数据库中的全体用户发信
    for i=1 to rs.recordcount
    tomail=rs("email")
    Set objCDOMail = Server.CreateObject("CDONTS.NewMail")
    objCDOMail.From = frommail
    objCDOMail.To = tomail
    objCDOMail.Subject = mailsubject  
    objCDOMail.Body = mailbody   
    objCDOMail.Send
    Set objCDOMail = Nothing
    rs.movenext
    next
    end if
    response.write "<br><br><br>"
    response.write "邮件发送成功!^&^"
    'response.write "<br><br><br>"
    'response.write rs1("mailsubject")
    %> 
    ------------------------------
    您可以修改成jmail组件的我的服务器都支持,但是无论如何测试发送成功我可以给我帮助的朋友明天寄钱过来,留下联系方式。请大家相信我的诚心,如果这个问题今天晚上不能解决我可以延长到明天。我对这些不太懂希望大家帮助能够彻底的这个问题解决了。需要什么更多的文件请您联系我。我的qq:421299994(今晚在线)电话09313363620 什么不明白的问题于我联系

    -------------------------------
    CDONTS.NewMail(CDONTS 邮件支持)
    但是发送所显示的错误是:
    Microsoft VBScript 运行时错误 错误 '800a0046' 

    没有权限 

    /Manage/sendmailto.asp,行 103 
    -------------------------------
    ---------------------------------------------------------------

    /Manage/sendmailto.asp,行 103 
    指出具体出错的行,行么

    ---------------------------
    我是菜鸟
    ---------------------------------------------------------------

    换成JMAIL吧
    Set Obj = Server.CreateObject("JMail.Message")
    On Error Resume Next
    Obj.Silent = True
    Obj.Logging = True
    Obj.Charset = Charset_Type
    If Not(LoginName = "" Or LoginPass = "") Then
    Obj.MailServerUserName = LoginName '您的邮件服务器登录名
    Obj.MailServerPassword = LoginPass '登录密码
    End If
    Obj.ContentType = Content_Type
    Obj.Priority = 1
    Obj.From = FromEmail
    Obj.FromName = FromName
    Obj.AddRecipient Email
    Obj.Subject = Topic
    Obj.Body = Mailbody
    If Err<>0 Then
    ErrMsg = ErrMsg & "发送失败!原因:" & Err.Description
    ErrNumber = 4
    Else
    Obj.Send (SMTP)
    Obj.ClearRecipients()
    If Err<>0 Then
    ErrMsg = ErrMsg & "发送失败!原因:" & Err.Description
    ErrNumber = 4
    Else
    Count = Count + 1
    ErrMsg = ErrMsg & "发送成功!"
    End If
    End If
    End Sub
    ---------------------------------------------------------------


    Set objCDOMail = Server.CreateObject("CDONTS.NewMail")
    objCDOMail.From = frommail
    objCDOMail.To = tomail
    objCDOMail.Subject = mailsubject  
    objCDOMail.BodyFormat = 0     '加了格式看看
    objCDOMail.MailFormat = 0     '加了格式看看
    objCDOMail.Body = mailbody   
    objCDOMail.Send
    Set objCDOMail = Nothing

    主要的是你调试把具体错误行指出来好分析。

    ---------------------------------------------------------------

    objCDOMail.Body = "mailbody"   
    objCDOMail.Send

    加符号试试
    ---------------------------------------------------------------

    Set objCDOMail = Server.CreateObject("CDONTS.NewMail")
    注意这个,好像在iis5.0和6.0的创建方式不同。
    另外如果需要在本地机器进行发送,你需要设置一个outlook帐号。smtp确定打开(有个关于域的设置)。最好还是用JMail吧。

    不过一般放到服务器空间上不需要设置这些了,通常都可以用。
    ---------------------------------------------------------------

    用Jmail没有错误的啦,我刚才试过了
    ---------------------------------------------------------------

    改成JMAIL吧...我每天要2000封以上,都是JMAIL...
    加我,我把代码给你吧...
    85877272
    ---------------------------------------------------------------

    JMAIL要装组件
    CDONTS要装SMTP
    而且还容易被当垃圾邮件
    ----------------------------------

  • 评价: 有价值 给朵鲜花(4) 无价值 扔个鸡蛋(0)
相关FAQ
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo