ainizm 发表于 2009-10-10 09:43:25

向163邮箱发邮件,为什么不成功,高手指点一下

本帖最后由 ainizm 于 2009-10-12 16:48 编辑

#include <SmtpMailer.au3>
   $s_SmtpServer = "smtp.163.com" ;SMTP服务器
   $s_FromName = "qinjun" ;邮件发送人
   $s_FromAddress = "username@163.com" ;邮件发送者地址
   $s_ToAddress = "55555@163.com" ;收件人地址
   $s_Subject = "网关出错了!" ;邮件标题
   $as_Body = "";邮件正文
   $s_AttachFiles = "" ;附件地址
   $s_CcAddress = "" ;抄送地址
   $s_BccAddress = "" ;密件抄送地址
   $s_Username = "username" ;用户名
   $s_Password = "password" ;密码
   $IPPort = 25 ;发送端口,Gmail使用的发送端口为465
      $ssl = 0
      Global $oMyRet
      Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
                        
      $ping = ping("192.168.1.251", 10)
      If Not $ping Then
                sendmail()
      EndIf
Func sendmail()
      $rc = _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body, $s_AttachFiles, $s_CcAddress, $s_BccAddress, $s_Username, $s_Password, $IPPort, $ssl)
      If @error Then
                MsgBox(0, "邮件发送失败", "错误代号:" & @error & "    描述:" & $rc)
      EndIf
EndFunc   ;==>sendmail

是不是163改掉了,这样不行了?代码没提示出错,可是邮箱没收到信。

五猫橙 发表于 2009-10-10 09:50:13

参见:http://www.autoitx.com/forum.php?mod=viewthread&tid=6750&highlight=smtp

ainizm 发表于 2009-10-10 19:25:49

本帖最后由 ainizm 于 2009-10-11 12:02 编辑

是哪里的问题呢

ainizm 发表于 2009-10-11 12:02:26

本帖最后由 ainizm 于 2009-10-11 12:43 编辑

高手指点下

五猫橙 发表于 2009-10-11 12:39:33

看下163开了smtp没有.建议用GMAIL..因为我GMAIL用2#的代码测试成功了..
主要是SMTP的设置..出错了就发不出去了..

ainizm 发表于 2009-10-11 12:50:10

本帖最后由 ainizm 于 2009-10-11 13:03 编辑

是这样吗
$s_SmtpServer = "gmail.163.com"
好像不行呀
可以发出成功的看一下学习学习吗

五猫橙 发表于 2009-10-11 13:03:25

本帖最后由 五猫橙 于 2009-10-12 07:48 编辑

6# ainizm
此乃GMAIL版本..163的请自行设置#include <SmtpMailer.au3>
$s_SmtpServer = "smtp.gmail.com" ;SMTP服务器
$s_FromName = "username@gmail.com" ;邮件发送人
$s_FromAddress = "username@gmail.com" ;邮件发送者地址
$s_ToAddress = "getter@gmail.com" ;收件人地址
$s_Subject = "测试" ;邮件标题
$as_Body = "测试";邮件正文
$s_AttachFiles = "" ;附件地址
$s_CcAddress = "" ;抄送地址
$s_BccAddress = "" ;密件抄送地址
$s_Username = "username@gmail.com" ;用户名
$s_Password = "password" ;密码
$IPPort = 465 ;发送端口,Gmail使用的发送端口为465
$ssl = 1

Func sendmail()
      Global $oMyRet
      Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
      $rc = _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body, $s_AttachFiles, $s_CcAddress, $s_BccAddress, $s_Username, $s_Password, $IPPort, $ssl)
      If @error Then
                MsgBox(0, "邮件发送失败", "错误代号:" & @error & "    描述:" & $rc)
      EndIf
EndFunc修正:请在15行加上sendmail()

ainizm 发表于 2009-10-11 16:25:40

我可以很负责任的说,你一定没测试,因为我修改后运行还是提示出错

五猫橙 发表于 2009-10-12 07:47:02

然后我负责任的回答你.我确实没测试....为了负责任的回答...我刚才又测试了一下..很抱歉..少了一句...请在代码的第15行加上
sendmail()
然后测试成功.附上截图


然后附上163邮箱的配置说明..令人深感遗憾的是..163不对普通用户提供这一服务(说明).这就意味着.发件人的部分不能填写163的邮箱(但收件人无所谓)

五猫橙 发表于 2009-10-12 07:48:10

如果在配置方面还有问题.我们就继续盖楼吧...

ainizm 发表于 2009-10-12 09:39:20

sendmail()
这行我早就加上了,否则不运行怎么会提示出错。
163费邮箱目前不直接开放smtp、pop3,知道了,测试一下去。

ainizm 发表于 2009-10-12 16:48:33

测试成功,谢谢 老五。

xlcwxl 发表于 2013-1-13 17:21:02

学习了,自己用得着

xlcwxl 发表于 2013-1-13 17:21:06

学习了,自己用得着

heruowen 发表于 2014-1-16 11:32:24

我测试也没成功,继续查看自己的代码问题在哪
页: [1] 2
查看完整版本: 向163邮箱发邮件,为什么不成功,高手指点一下