Jmail 和 vb 怎么群发邮件和发送多个附件

Jmail 和 vb 怎么群发邮件和发送多个附件,第1张

使用mail.dll就ok呀,这个是vb的调用代码,你参考一下呀 Private Declare Function SendMail Lib "mail.dll" (ByVal MailFrom As String, ByVal MailTo As String, ByVal MailSubject As String, ByVal MailContent As String, ByRef MailAttachment() As String, ByVal MailPassWord As String) As BooleanPrivate Declare Function GetError Lib "mail.dll" () As String

SendMail 函数及参数解释如下:MailFrom 发信人邮箱。

MailTo 收信人邮箱。

MailSubject 邮件标题。

MailContent 邮件内容。

MailAttachment() 附件数组。

MailPassWord 发信人邮箱密码。调用该函数发送邮件成功后会返回true,发送失败返回false,并可以通过 GetError 函数获得错误信息。

试试以下代码:核心就是循环调用发邮件代码就可以了

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>

<%

Server.ScriptTimeOut=9999999

Response.Buffer = True

dim FoundErr, ErrMsg, Action

dim MailServerUserName, MailServerPassWord, MailDomain, MailServer

dim MailtoAddress, MailtoName, Subject, MailBody, FromName, MailFrom, Priority

FoundErr = False

ErrMsg = ""

Action = Trim(Request("action"))

ComeUrl = ""

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<HEAD>

<TITLE>群发邮件系统</TITLE>

<META http-equiv=Content-Type content="text/htmlcharset=gb2312">

<META content="Microsoft FrontPage 4.0" Name=GENERATOR>

<STYLE type=text/css>

a {text-decoration: none} /* 链接无下划线,有为underline */

a:link {color: #000000text-decoration: none} /* 未访问的链接 */

a:visited {color: #000000text-decoration: none} /* 已访问的链接 */

a:hover {color: #ff6600text-decoration: none} /* 鼠标在链接上 */

a:active {color: #000000text-decoration: none} /* 点击激活链接 */

TD {

FONT-SIZE: 18pxCOLOR: #000000FONT-FAMILY: '宋体'LINE-HEIGHT: 150%

}

BODY {

FONT-SIZE: 12pxCOLOR: #000000FONT-FAMILY: '宋体'

}

INPUT {

FONT-SIZE: 12pxCOLOR: #000000FONT-FAMILY: '宋体'

}

SELECT {

FONT-SIZE: 12pxCOLOR: #000000FONT-FAMILY: '宋体'

}

.title

{

background:#0DB432

color: #ffffff

font-weight: normal

}

.border

{

border: 1px solid #0DB432

}

.tdbg{

background:#f0f0f0

line-height: 120%

}

.tdbg1{

background:#A3E2B1

line-height: 120%

}

</STYLE>

</HEAD>

<BODY text=#000000 bgColor=#ffffff leftMargin=0 topMargin=0>

<br>

<%

Select Case Action

Case "send"

Call sendMail()

Case Else

Call Main()

End Select

If FoundErr = True Then

Response.Write WriteErrMsg(ErrMsg, ComeUrl,"错误信息")

End If

Response.write"</BODY></HTML>"

sub main()

If Not IsObjInstalled("JMail.Message") Then

FoundErr=True

ErrMsg = "服务器不支持JMail组件,请正确安装"

Exit Sub

End If

%>

<form action="wssf.asp?Action=send" method=post>

<table width="80%" class="border" border="0" cellspacing="1" cellpadding="4" align="center" height="589">

<tr>

<td height="40" colspan="2" align="center" class="title">

<p><b>群发邮件系统</b></p> </td>

</tr>

<tr>

<td width='30%' class='tdbg1' height="25"><strong>邮件服务器地址:</strong></td>

<td class='tdbg' height="25">

<input name='MailServer' type='text' id='MailServer' value='smtp.163.com' size='40'><FONT color=#ff0000>*</FONT>

</td>

</tr>

<tr>

<td width='30%' class='tdbg1' height="25"><strong>登录用户名一:</strong>

</td>

<td class='tdbg' height="25">

<input name='MailServerUserName1' type='text' id='MailServerUserName1' value='XXX' size='40'><FONT color=#ff0000>*</FONT>

</td>

</tr>

<tr>

<td width='30%' class='tdbg1' height="25"><strong>登录密码一:</strong>

</td>

<td class='tdbg' height="25">

<input name='MailServerPassWord1' type='password' id='MailServerPassWord1' value='***' size='40'><FONT color=#ff0000>*</FONT>

</td>

</tr>

<tr>

<td width="30%" class="tdbg1" height="25">您的姓名:</td>

<td class="tdbg" height="25"><input name="name" type=text id="name" size=30>

<FONT color=#ff0000>*</FONT></td>

</tr>

<tr>

<td width="30%" class="tdbg1" height="25">您的E-mail:</td>

<td class="tdbg" height="25"><input name="email" type=text id="email" value="XXX@163.com" size=30>

<FONT color=#ff0000>*</FONT></td>

</tr>

<tr>

<td width="30%" class="tdbg1" height="25">收件人姓名:</td>

<td class="tdbg" height="25"><input name="toname" type=text id="toname" size=30>

<FONT color=#ff0000>*</FONT></td>

</tr>

<tr>

<td width="30%" class="tdbg1" height="25">收件人Email:</td>

<td class="tdbg" height="25"><input name="toemail" type="text" id="toemail" size="30" maxlength="100">

<FONT color=#ff0000>*</FONT></td>

</tr>

<tr>

<td width="30%" class="tdbg1" height="25">邮件标题:</td>

<td class="tdbg" height="25"><input type=text name="topic" size=30>

<FONT color=#ff0000>*</FONT></td>

</tr>

<tr>

<td width="30%" class="tdbg1" height="500">邮件内容:</td>

<td class="tdbg" height="500"><textarea name="body" cols=74 rows=34 id="body"></textarea>

<FONT color=#ff0000>*</FONT></td>

</tr>

<tr>

<td width="30%" class="tdbg" height="27"></td>

<td height=27 class="tdbg">

<input type="Submit" value="发送邮件" name="Submit">

<input type="reset" name="Clear" value="重新填写">

</td>

</tr>

</table>

</form>

<%

End Sub

Sub sendMail()

MailServer = trim(Request("MailServer")) 'SMTP服务器地址:smtp.163.com, 请修改

MailServerUserName = trim(Request("MailServerUserName")) 'SMTP登录用户名:XXX@163.com, 请修改

MailServerPassWord = trim(Request("MailServerPassWord")) 'SMTP登录密码:***, 请修改,注意大小写

MailDomain = trim(Request("MailDomain")) 'SMTP域名:163.com, 请修改

FromName = trim(Request("name")) '发件人名字

MailFrom = trim(Request("email")) '发件人邮箱

MailtoName = trim(Request("toname")) '发件人名字

MailtoAddress=trim(Request("toemail")) '收件人邮箱

Subject = trim(Request("topic"))

MailBody = trim(Request("body"))

Priority=3

If FromName="" or MailFrom="" or MailtoName="" or Subject="" or MailBody="" then

FoundErr = True

ErrMsg = "请填写完整每一项信息!"

Exit Sub

End If

ErrMsg = JSendMail()

If ErrMsg<>"" Then

FoundErr = True

Exit Sub

Else

Response.Write WriteErrMsg("", ComeUrl,"成功信息")

End If

End Sub

Function JSendMail()

On Error Resume Next

JSendMail = ""

Dim JMail,tempMessage

Set JMail = Server.CreateObject("JMail.Message")

JMail.silent=true

JMail.Logging = True

JMail.Charset = "gb2312"'邮件编码

JMail.silent = True

JMail.ContentType = "text/html" '邮件正文格式

JMail.ServerAddress=MailServer '用来发送邮件的SMTP服务器

'如果服务器需要SMTP身份验证则还需指定以下参数

JMail.MailServerUserName = MailServerUserName1'登录用户名

JMail.MailServerPassWord = MailServerPassWord1'登录密码

JMail.AddRecipient MailtoAddress, MailtoName'收信人

JMail.Subject = Subject '主题

JMail.HtmlBody = MailBody '邮件正文(HTML格式)

JMail.Body = MailBody'邮件正文(纯文本格式)

JMail.FromName = FromName '发信人姓名

JMail.From = MailFrom '发信人Email

JMail.Priority = Priority'邮件等级,1为加急,3为普通,5为低级

Dim emailArray

If MailtoAddress="" then

set fsObj = Server.CreateObject("Scripting.FileSystemObject")

FilePath = Server.MapPath("email.txt")

set txtsObj = fsObj.OpenTextFile(FilePath, 1, false)

i = 0

Do While Not txtsObj.atEndOfStream

emailArray(i)=txtsObj.ReadLine

JMail.AddRecipient Trim(emailArray(i)),MailtoName

i=i+1

loop

Else

JMail.AddRecipient MailtoAddress, MailtoName

End If

JMail.Send (MailServer)

tempMessage = JMail.ErrorMessage

JMail.Close

Set JMail = Nothing

If tempMessage<>"" then

FoundErr = True

JSendMail = tempMessage

end if

Set JMail = Nothing

End Function

Function IsObjInstalled(strClassString)

On Error Resume Next

IsObjInstalled = False

Err = 0

Dim xTestObj

Set xTestObj = CreateObject(strClassString)

If Err.Number = 0 Then IsObjInstalled = True

Set xTestObj = Nothing

Err = 0

End Function

Function WriteErrMsg(sMsg, sComeUrl,Massages)

Dim strMsg

strMsg = strMsg &"<html><head><title>"&Massages&"</title><meta http-equiv='Content-Type' content='text/htmlcharset=gb2312'>" &vbCrLf

strMsg = strMsg &"</head><body><br><br>" &vbCrLf

strMsg = strMsg &"<table cellpadding=2 cellspacing=1 border=0 width=400 class='border' align=center>" &vbCrLf

strMsg = strMsg &" <tr align='center' class='title'><td height='22'><strong>"&Massages&"</strong></td></tr>" &vbCrLf

if FoundErr=True Then

strMsg = strMsg &" <tr class='tdbg'><td height='100' valign='top'><b>产生错误的可能原因:</b>" &sMsg &"</td></tr>" &vbCrLf

Else

strMsg = strMsg &" <tr class='tdbg'><td height='100' valign='top'><br><b>恭喜,成功用JMail发送邮件!</b>" &sMsg &"</td></tr>" &vbCrLf

End If

strMsg = strMsg &" <tr align='center' class='tdbg'><td>"

If sComeUrl <>"" Then

strMsg = strMsg &"<a href='javascript:history.go(-1)'><<返回上一页</a>"

Else

strMsg = strMsg &"<a href='javascript:window.close()'>【关闭】</a>"

End If

strMsg = strMsg &"</td></tr>" &vbCrLf

strMsg = strMsg &"</table>" &vbCrLf

strMsg = strMsg &"</body></html>" &vbCrLf

WriteErrMsg = strMsg

End Function

%>

安装完Jmail之后(实际就是注册了Jmail.dll),可以用vb,js,C#等编程语言调用JMail.Message对象发信。

Jmail安装版中包含完整的手册和一些例子,给你一个vbs的例子吧

首先安装Jmail,或者下载Jmail.dll然后在命令行中运行

regsvr32 <path>Jmail.dll

<path>是你放jmail.dll的路径

然后保存以下内容为*.vbs,双击发送

'初始化对象

set msgJmail = CreateObject( "JMail.Message" )

'令Jmail记录日志,以便排查问题

msgJmail.Logging = true

'邮件正文的编码

msgJmail.Charset = "gb2312"

'发件人,理论上来说可以随便写

msgJmail.From = "mailtest@gasgoo.com"

'发件人姓名,随便写

msgJmail.FromName = "test"

'增加一个收件人,重复这一句可以增加多个收件人

msgJmail.AddRecipient "test@163.com"

'邮件标题

msgJmail.Subject = "测试邮件"

'邮件正文,重复这一句可以增加多行

msgJmail.AppendText "这是一封测试邮件"

'也可以用这一句来读取一个文件内容,并附加到正文

'msgJmail.Appendfromfile "d:\mail.txt"

'发送指令,@后面是smtp服务器的地址或者域名

'@前面是:分隔开的用户名和密码,是否需要由SMTP决定

msgJmail.Send( "username:password@smtp.sina.com" )

'发送完成后显示发送日志

WScript.Echo( msgJmail.Log )

'回收对象

msgJmail.Close()

set msgJmail = Nothing

发送完成后应该会弹出一个窗口显示发送结果


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/56319.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-26
下一篇2023-02-26

发表评论

登录后才能评论

评论列表(0条)

    保存