如何用ASP实现 发送到邮箱功能

2025-12-04 08:05:35
推荐回答(2个)
回答1:

下面是代码,测试通过,试试

<%

EmailName = "123456789@qq.com" '发件人邮箱,需要支持smtp
Set JMail = Server.CreateObject("JMail.Message")
JMail.Charset = "gb2312" ' 邮件字符集,默认为"US-ASCII"
' JMail.ISOEncodeHeaders = False ' 是否进行ISO编码,默认为True

' 发送者信息(可用变量方式赋值)
JMail.From = EmailName ' 发送者地址
JMail.Subject = now()&"接受到一个新信息" ' 邮件主题

' 身份验证
JMail.MailServerUserName = EmailName '身份验证的用户名
JMail.MailServerPassword = "123456" '发件人邮箱密码 身份验证的密码

' 设置优先级,范围从1到5,越大的优先级越高,3为普通
JMail.Priority = 1

' 加入一个收件人【变量email:收件人地址】可以同一语句重复加入多个
JMail.AddRecipient("123456@126.com") '收件人

' 加入附件【变量filename:附件文件的绝对地址,确保用户IUSR_机器名有访问的权限】
' 【参数设置是(True)否(False)为Inline方式】
'contentId = JMail.AddAttachment (Server.MapPath("jmail.asp"), True)

' 邮件主体(HTML(注意信件内链接附件的方式))
MailBody = MailBody & ""
MailBody = MailBody & now()&"有一个新信息"&"来自IP:"&Request.ServerVariables("REMOTE_ADDR")
MailBody = MailBody & ""
JMail.HTMLBody = MailBody

' 邮件主体(文本部分)
JMail.Body = "我们的邮件采用了HTML格式,但是您的邮件查看软件可能不支持。。。"

' 发送【调用格式:objJMail.Send([username:password@]SMTPServerAddress[:Port])】
'JMail.Send("mail.guxido.com")
JMail.Send("smtp.qq.com")

' 关闭并清除对象
JMail.Close()
Set JMail = Nothing

%>

回答2:

可以使用系统自带的CDONTS组件来发送邮件;

在使用CDONTS.Newmail之前,需要安装和启动SMTP服务;
例:

<%

towho=trim(request.form("towho"))'从表单提交过来的对方邮件地址

subject=trim(request.form("subject"))'邮件标题

content=trim(request.form("content"))'邮件正文

if towho<>"" then

set myMail=server.createObject("CDONTS.Newmail")

myMail.from="249834575@qq.com"

myMail.to=towho

myMail.subject=subject

myMail.body=content

myMail.send

set myMail=nothing
Response.Write "你的邮件已经发往" & towho

else

Response.Write "请输入要发送到的Email地址"

end If

%>

如果带有附件,代码如下:

01 Dim MailObject

02 Set MailObject = Server.CreateObject("CDONTS.NewMail")

03 att_fileName="附件文件名完整路径"

04 f_name="文件名"

05 MailObject.From="在这填写发件人地址"

06 MailObject.To="在这填写接收人地址"

07 MailObject.Subject="填写主题"

08 MailObject.Body="填写正文"

09 MailObject.AttachFile att_file,f_name

10 MailObject.Send

注:发送邮件时需要IIS对Inetpubmailroot目录有读写权限。