Foxtable(狐表)用户栏目专家坐堂 → 【使用QQ邮箱发送邮件】前提是不是必须本机要登录QQ


  共有1835人关注过本帖树形打印复制链接

主题:【使用QQ邮箱发送邮件】前提是不是必须本机要登录QQ

帅哥哟,离线,有人找我吗?
ycli368
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:989 积分:10360 威望:0 精华:0 注册:2012/12/11 14:25:00
【使用QQ邮箱发送邮件】前提是不是必须本机要登录QQ  发帖心情 Post By:2017/4/30 16:29:00 [只看该作者]

我再本地测试OK
软件发布后,报错

.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.4.22.1
错误所在事件:自定义函数YanZheng_Sendcode
详细错误信息:
调用的目标发生了异常。
发送邮件失败。
无法连接到远程服务器
由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 14.17.57.241:25


 回到顶部
帅哥哟,离线,有人找我吗?
ycli368
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:989 积分:10360 威望:0 精华:0 注册:2012/12/11 14:25:00
  发帖心情 Post By:2017/4/30 18:37:00 [只看该作者]

改成了这个调用可以
官方那个应该是有问题吧
Public Function email_send2b( mailname As String, content As String ) As Boolean
Dim mail As new System.Web.Mail.MailMessage()
try
    Dim drdeploy As DataRow = DataTables("prot_deploy").sqlfind("deid = 1")
    If drdeploy IsNot Nothing Then
        mail.To = mailname
        mail.From = drdeploy("desmtpuser")
        mail.Subject =  "【昱帝电商】验证码"
        
        mail.BodyFormat = System.Web.Mail.MailFormat.Html
        mail.Body = content
        
        mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1") '//身份验证
        mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", mail.From) '//邮箱登录账号,这里跟前面的发送账号一样就行
        mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", drdeploy("desmtppass")) '//这个密码要注意:如果是一般账号,要用授权码企业账号用登录密码
        mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 465)'//端口
        mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true")'//SSL加密
        System.Web.Mail.SmtpMail.SmtpServer = "smtp.qq.com"    '//企业账号用smtp.exmail.qq.com
        System.Web.Mail.SmtpMail.Send(mail)
        email_send2b = True
        'msgbox("邮件发送成功  ")
    Else
        
        email_send2b = False
    End If
catch  ex As Exception
    email_send2b = False
End try
End Function
[此贴子已经被作者于2017/4/30 18:37:31编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/2 8:54:00 [只看该作者]

 你设置好端口和ssl属性了吗?

 

http://www.foxtable.com/webhelp/scr/3230.htm

 

 贴出你写的代码,如果发布前是可以的,而发布后的程序无法发送,应该是你的程序设置有问题,比如 【没有用管理员权限运行】

[此贴子已经被作者于2017/5/2 9:02:14编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ycli368
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:989 积分:10360 威望:0 精华:0 注册:2012/12/11 14:25:00
  发帖心情 Post By:2017/5/2 22:25:00 [只看该作者]

这样发本地可以,放到服务器上报错,确认是管理员权限

Public Function email_send( mailname As String, content As String ) As Boolean


Dim m As New MailSender
Dim drdeploy As DataRow = DataTables("prot_deploy").sqlfind("deid = 1")
If drdeploy IsNot Nothing Then
    m.Host = drdeploy("desmtpserver")
    m.EnableSsl = True '必须将EnableSsl属性设置为True
    m.Account = drdeploy("desmtpuser")
    m.Password = drdeploy("desmtppass")'注意这不是QQ密码,是授权码
    m.From = drdeploy("desmtpuser")
    m.To = mailname
    m.Title = "【昱帝电商】验证码"
    m.Content = content
    m.Send()
    'm.SendAsync()
    
    email_send = True
Else
    email_send = False
    
End If

End Function
[此贴子已经被作者于2017/5/2 22:26:37编辑过]

 回到顶部