大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> NET专区 -> .NET环境下几种不同的邮件发送解决方案

.NET环境下几种不同的邮件发送解决方案

时间: 2021-07-31 作者:daque

1、运用outlook供给的发送如:我见过的用友软硬件u8消费创造(演练版),个中的邮件功效即是经过挪用outlook的activex 组件便宜:开拓大略缺陷:依附outlook组件,smtp 邮件效劳邮件发送的代码如次: private sub send() dim outobj as new outlook.application() dim item as outlook.mailitemclass item = outobj.createitem(0) item.to = "lihonggen0@163.com " item.subject = "hello" item.body = "hell" item.attachments.add("c:\abc.txt") item.send()end sub参考:运用 microsoft outlook 2002 开拓处置计划http://www.microsoft.com/china/msdn/library/dndotnetout2k2/html/odc_oldevsol.asp2、web开拓,在asp.net中援用system.web.mail类system.web.mail 定名空间包括使您不妨运用 cdosys(windows 2000 的协调数据东西)动静组件来结构和发送动静的类。邮件动静是经过内置在 microsoft windows 2000 中的 smtp 邮件效劳或大肆的 smtp 效劳器来传递的。此定名空间中的类不妨在 asp.net 或任何托管运用步调mailattachment供给用来结构电子邮件附属类小部件的属性和本领。mailmessage供给用来结构电子邮件的属性和本领。smtpmail供给用来运用 windows 2000 的协调数据东西 (cdosys) 动静组件来发送动静的属性和本领。邮件不妨经过 microsoft windows 2000 中内置的 smtp 邮件效劳或大肆 smtp 效劳器来传递。system.web.mail 定名空间中的典型不妨在 asp.net 或任何托管运用步调运用。smtp效劳器的树立,此刻少许免费邮件供给商是不复供给对准一切邮件供给smtp效劳,在发送邮件的功夫,须要考证用户消息,商量smtp用户考证题目即使smtp效劳器在当地计划机,发送速率很快的,基础上不必担忧,即使不是当地效劳器,那么发送的功夫最佳不要以此太多,一是速率题目,二是以此发送太多邮件,smtp效劳器大概觉得是废物邮件而中断效劳代码如次: private sub button1_click(byval sender as system.object, byval e as system.eventargs) handles button1.click dim mailobj as new mailmessage() dim smtp as smtpmail '设置smtp效劳器的称呼 smtp.smtpserver = "smtp.xxx.com" '设置邮件的发送地方 mailobj.from = "lihonggen@xxx.com" '设置邮件的接受地方 mailobj.to = " aaa@xxx.com" '设置邮件的暗送地方 mailobj.bcc= "aa@sina.com" '设置邮件的抄送地方 mailobj.cc = "aaa@sina.com" '设置邮件的中心 mailobj.subject = "中心" '设置邮件的主体 mailobj.body = "邮件主体!" '邮件以 html的方法发送 mailobj.bodyformat = mailformat.html '设置邮件的有限级,在此设定于高 mailobj.priority = mailpriority.high '给发送的邮件附加上一个附属类小部件 mailobj.attachments.add(new mailattachment("c:\aa.doc")) smtp.send(mailobj) end sub3、在vb.net或c#开拓windows 运用步调中运用system.net.sockets也是鉴于smtp和议一、smtp和议简介1、 存户端经过效劳器的25端口创造tcp/ip贯穿效劳器端: 220 server.com simple mail transfer service ready2、 存户端运用“helo”吩咐标识发件人存户端:helo server.com效劳器端:250 server.com3、 存户端发送mail吩咐,效劳器端以ok动作相应表白筹备接受存户端: mail from: <a@b.com>效劳器端: 250 ok4、 存户端发送rcpt吩咐标识收件人,效劳器端回应能否承诺为收件人接收邮件存户端:rcpt to: <c@d.com>效劳器端:250 ok5、 计划中断后用吩咐data发送发送邮件存户端:data效劳器端:354 start mail input: end with <crlf>.<crlf>6、 存户端以.表白中断输出实质一道发送出去 存户端:subject: <crlf>实质<crlf>.<crlf>7、存户端用quit吩咐退出。 存户端:quit效劳器端:250 server.com closing transmission channel便宜:不妨在此普通上开拓出本人的组件,运用sockets咱们不妨举行搜集编制程序开拓缺陷:步调量对立较多,发送邮件的代码如次: dim senddata as string dim szdata as byte() dim crlf as string crlf = "\r\n" '创造与效劳器25端口的贯穿 dim smtpserv as new tcpclient(txtsmtp.text, 25) lstlog.items.clear() '表露效劳器初始消息 dim netstrm as networkstream netstrm = smtpserv.getstream() dim rdstrm as new streamreader(smtpserv.getstream()) if rdstrm.readline() <> "" then lstlog.items.add(rdstrm.readline()) ' senddata = "helo server " + crlf szdata = system.text.encoding.ascii.getbytes(senddata.tochararray()) netstrm.write(szdata, 0, szdata.length) lstlog.items.add(rdstrm.readline()) '标记发件人 senddata = "mail from: " + "<" + txtfrom.text + ">" + crlf szdata = system.text.encoding.ascii.getbytes(senddata.tochararray()) netstrm.write(szdata, 0, szdata.length) lstlog.items.add(rdstrm.readline()) '标记收件人 senddata = "rcpt to: " + "<" + txtto.text + ">" + crlf szdata = system.text.encoding.ascii.getbytes(senddata.tochararray()) netstrm.write(szdata, 0, szdata.length) lstlog.items.add(rdstrm.readline()) '筹备发送实质 senddata = "data " + crlf szdata = system.text.encoding.ascii.getbytes(senddata.tochararray()) netstrm.write(szdata, 0, szdata.length) lstlog.items.add(rdstrm.readline()) '发送中心 senddata = "subject: " + txtsub.text + crlf '发送实质 senddata = senddata + txtmsg.text + crlf '中断发送 senddata = senddata + "." + crlf szdata = system.text.encoding.ascii.getbytes(senddata.tochararray()) netstrm.write(szdata, 0, szdata.length) lstlog.items.add(rdstrm.readline()) '退出 senddata = "quit " + crlf szdata = system.text.encoding.ascii.getbytes(senddata.tochararray()) netstrm.write(szdata, 0, szdata.length) lstlog.items.add(rdstrm.readline()) '封闭贯穿 netstrm.close() rdstrm.close() lstlog.items.add("贯穿封闭") lstlog.items.add("发送胜利")大师还不妨参考:运用c# 创造邮件发送组件(smtp)http://www.aspcool.com/lanmu/browse1.asp?id=968&bbsuser=csharp4、iis smtp自带的基础的发信组件cdonts你不用特意载入,微软仍旧供给了这个组件,只有安置了2000,nt的smtp就会有的。便宜:组件由操纵体例自带缺陷:功效比拟差,可扩充性不强 mymail = createobject("cdonts.newmail") mymail.from = *** '函件发送者邮箱 mymail.to = *** ‘函件接受者邮箱 mymail.cc = *** '抄送 mymail.bcc = *** ’密件发送 mymail.subject = *** ‘函件中心 mymail.body = *** ’函件正文 '树立优先级,0-不要害,1-普遍,2-要害。 mymail.importance = 2 mymail.send() mymail = nothing5、运用jmail组件jmail具备以次特性:(1)不妨发送附属类小部件;(2)精细日记本领,便于你察看题目地方;(3)树立邮件发送的优先级;(4)扶助多种方法的邮件发送,比方说以html大概txt的办法发送邮件。这是个免费的组件。(5)密件发送/(cc)抄送/重要函件发送本领;(6)最要害的即是--免费的组件,不用发钱,以是特殊犯得着运用。 网站:http://www.dimac.net/,暂时本子是4.3jmail组件的常用属性:body   邮件正文 logging   挪用log记载,供debug用 priority   邮件的优先水平,从1到5 sender   发件人 serveraddress   smtp效劳器的ip地方或称呼 subject   邮件题目 jmail组件的常用本领:addattachment   指定附属类小部件文献 addrecipient   介入一个收件人 addrecipientbcc   湮没的复本抄送,惟有发件人和bcc收件人领会。 addrecipientcc   复本抄送 execute   送出邮件 领会需要的属性及本领后,余下的局部接受运用者输出的email,当成参数字传送给addrecipient本领,而后按照须要填上其他属性,结果以execute本领寄出。比方: dim jmail jmail = server.createobject("jmail.smtpmail") jmail.logging = true jmail.serveraddress = "202.96.144.48" jmail.sender = "lihonggen0@163.com" jmail.subject = "subject." jmail.body = "body." jmail.addrecipient("bbbb@163.com") jmail.addattachment("c:\go.gif") jmail.priority = 3 jmail.execute() jmail = nothing归纳:采用何种计划,视步调的用处和需要而定,正文例出的几种计划,供大师参考。比方用友软硬件u8,挪用outlook组件,一律调整到本人的软硬件中。我编写的处置体例,本人写组件(smtp),功效同样宏大,然而cod

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.