jingygr 发表于 2012-2-17 09:28:38

[已解决]求解:用jmail发邮件时,只指定一个收件人,但却发送了N多人

本帖最后由 jingygr 于 2012-7-9 13:01 编辑

大家好,我自己前段时间弄的“看侃邮件群发”工具,这两天发现一个问题。

软件是一个邮件群发工具,每次发件时,都会通过mysql向数据库读取一条收件人的收件信息,然后再发送

流程
while 1
获取1个收件人信息
获取1个发件人信息
获取1条发件内容
jmail发件
wend

在这个流程中,我都是只读取了一条收件人的信息,但jmail发件的时候,好像把上一循环的收件人也自动并入到这轮循环的收件人中,导致同时发送给多人

具体发送代码:If IsObj($msg) Then
                              $msg.Charset = "gb2312"
                              $msg.Silent = True
                              $msg.Priority = 3
                              $msg.MailServerUserName = $sender
                              $msg.MailServerPassword = $mailpassword
                              $msg.From = $sender
                              $msg.FromName = $sender_name
                              $msg.AddRecipient($geter, $geter_name)
                              $msg.Subject = $biaoti
                              $msg.HtmlBody = $zhengwen
                              $msg.AppendText("www.shangbanwang.com") ; 邮件内容第n行, 可统一添加附加信息
                              If $msg.Send($domain) Then
                                       
                                        TrayTip("恭喜", "你的积分又增加了", 3, 1)
                              EndIf
                        Else
                              MsgBox(0, "", "ObjCreate Jmail.Message失败")
                        EndIf

jingygr 发表于 2012-2-17 09:33:49




在我的LOG记录中,获取到的收件人,只是一个人,而不是一群,但发出去的就是一群人啊

网络小僧 发表于 2012-2-17 11:31:47

{:face (411):}我用自己的程序发送正常

jingygr 发表于 2012-2-17 17:30:44

请各位大侠们帮我指点一二啊

jingygr 发表于 2012-2-17 17:30:49

请各位大侠们帮我指点一二啊

h20040606 发表于 2012-2-18 15:08:23

需要在语句$msg.AddRecipient($geter, $geter_name)
之前,增加一句清除原来的收件人的语句
$msg.ClearRecipients

h20040606 发表于 2012-2-18 15:14:20

AddRecipient方法为增加一个收件人

yorker0503 发表于 2012-2-19 13:30:17

信息不全,没法判断~~

anypac 发表于 2013-11-24 10:39:08

可恨的Jmail和邮件发送问题!!!
页: [1]
查看完整版本: [已解决]求解:用jmail发邮件时,只指定一个收件人,但却发送了N多人