永发信息网

JMAIL问题

答案:2  悬赏:50  手机版
解决时间 2021-04-22 11:40
  • 提问者网友:咪咪
  • 2021-04-22 00:34

我有这样一段代码:“

sSMTPServer="smtp.vip.163.com" 'SMTP服务器
sMailUser="9991@vip.163.com" 'SMTP服务器用户名
sSenderPassword="123456" 'SMTP服务器密码
sFromMail="9991@vip.163.com" '发送地址
sFromName="Me"
sMailSubject="石头有新订单啦"
sRecMail="5624961@qq.com,9991@vip.163.com,287902984@qq.com" '多个邮件地址
url=request.ServerVariables("HTTP_REFERER")
sbody=""
sbody=sbody&"<br>客户名称:"&Book_name '变量
sbody=sbody&"<br>客户电话:"&Book_tel '变量
sbody=sbody&"<br>客户地址:"&Book_address '变量
sbody=sbody&"<br>产品需求:"&Product_model '变量
sbody=sbody&"<br>客户备注:"&Book_content '变量
sbody=sbody&"<br>来源页面:"&url '变量
sbody=sbody&"<br>订单时间:"&now() '变量
sMailBody=sbody


Set JmailMsg = Server.CreateObject("JMail.Message")
JmailMsg.silent = true
JmailMsg.Logging = true
JmailMsg.Charset = "gb2312"

JmailMsg.ContentType="text/html"
sMailBody=sMailBody & "<br><br><p></p>"

JmailMsg.MailServerUserName = sMailUser
JmailMsg.MailServerPassword = sSenderPassword
JmailMsg.From = sFromMail
JmailMsg.FromName = sFromName

sRecMail=lcase(trim(sRecMail))
if instr(sRecMail,",")>0 then
sRecMailArr=split(sRecMail,",")
for RecMail_i=0 to UBound(sRecMailArr)
JmailMsg.AddRecipient sRecMailArr(RecMail_i)
next
else
JmailMsg.AddRecipient sRecMail
End if


JmailMsg.Subject = sMailSubject
JmailMsg.Body = sMailBody & vbCrLf
JmailMsg.Send sSMTPServer

if JmailMsg.ErrorCode>0 then
else

end if
JmailMsg.close
set JmailMsg = nothing

想把“sRecMail="5624961@qq.com,9991@vip.163.com,287902984@qq.com" '多个邮件地址”这段中的常量改为变量,请高手帮我,谢谢!!!

最佳答案
  • 五星知识达人网友:玩世
  • 2021-04-22 01:43

弄一个函数不就搞定了?


public static void sendMailTo(String sRecMail){


.....这个里面放你原来的代码,把sRecMail="5624961@qq.com,9991@vip.163.com,287902984@qq.com去掉,注意有些变量需要在函数内定义


}



然后在你需要发送邮件的地方调用sendMailTo("5624961@qq.com,9991@vip.163.com,287902984@qq.com");即可

全部回答
  • 1楼网友:酒安江南
  • 2021-04-22 03:22

你可以定义成一个方法sendemail,然后为方法设置一个参数arraylist<String>

在方法内部遍历这个list取出每一个发送地址的值。

然后用MimeMessage对象的addRecipient方法将每一个地址依次添加。

其他步骤跟你代码写的差不多。简单来说,就是这样:

public void sendemail(ArrayList<String> addresslist){

InternetAddress[] address=new InternetAddress[addresslist.size()];

for (int i=0;i<addresslist.size();i++){

address[i]=new InternetAddress(addresslist.getObject(i));

JmailMsg.AddRecipient(MimeMessage.RecipientType.TO,address);

其他省略...

}

}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯