.net 发邮件方式之请教及讨论(来者有分)

jeffrey_rui 2003-08-21 01:59:33
目前常用的有三种
1.用web.Mail,可以用自己创建的smtp
2.CDO
3.Jmail
我现在项目的需求是要"推荐文章"之类的功能,即用户给我收件人邮件和发件人邮件,我就帮她发封邮件过去.我目前才用的是第一种方法,用的是自己建的虚拟smtp服务器,但是常常会出现邮件发不到的情况.
我试了一下第二种方法,但是这要求smtp的认证,我总不能要求用户给我发件服务器和密码,只能用自己的账号,这也行不通.
第三种没试,好像用起来和第二种的问题差不多.

那么我该采取什么方案呢?外面网站文章推荐功能很普遍的,难道也会经常推荐不成功?
...全文
74 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
yohomonkey 2003-08-22
  • 打赏
  • 举报
回复
版主,呵呵呵
总是报错啊!
why??
error:SMTP protocol error: 553 From , message blocked.
name:yohomonkey
emailaddress:thuang@299.net
依次使用了yahoo,sina,299.net等测试。
使用smtp是有限制的。
jeffrey_rui 2003-08-22
  • 打赏
  • 举报
回复
chuanzai 2003-08-21
  • 打赏
  • 举报
回复
关注
「已注销」 2003-08-21
  • 打赏
  • 举报
回复
用SMTP.NET控件做了个示例:http://www.sorke.com/smtpsendmail.aspx
jeffrey_rui 2003-08-21
  • 打赏
  • 举报
回复
肯定不用穷尽所有smtp也可以实现,很多网站都有我想要的这个功能呀
yohomonkey 2003-08-21
  • 打赏
  • 举报
回复
如果非要使用代码的方式,是要设定smtp的参数的,但是你不可能穷尽所有可能用户的email的smtp,这样的代价太高了。
sjc0 2003-08-21
  • 打赏
  • 举报
回复
关注:SMTP具体怎么设置,那位大侠说说!
jeffrey_rui 2003-08-21
  • 打赏
  • 举报
回复
to yohomonkey(关在笼子里的猴):显然我们不希望使用客户端的Outlook.
jeffrey_rui 2003-08-21
  • 打赏
  • 举报
回复
to 9116(天马):那是你试的还不够多,呵呵.我的网站已经挂在外部服务器上几个月了,大概会有5%的邮件收不到,很是郁闷
yohomonkey 2003-08-21
  • 打赏
  • 举报
回复
使用上面的方法或者脚本的mailto:的方法都需要客户端的outlook来支持。
9116 2003-08-21
  • 打赏
  • 举报
回复
我试过第一种方法,好象都能发出去;而且不止在局狱网内部;外网也可以!
jeffrey_rui 2003-08-21
  • 打赏
  • 举报
回复
to sumanden(心头慌,打中张):难道别人从我网站推荐一篇文章给朋友,他的朋友看到地邮件发件人是我?这个好像不妥当吧.当然发件人地址应该是推荐人.
to yohomonkey(关在笼子里的猴):这篇文章经你介绍我已经看过了,谢谢你,不过它使用的就是最普通的方法(甚至不够完整,没有给出smtpserver能发出去才怪),如果自己创建虚拟Smtp服务器,发出去的邮件会被很多邮箱拒收的.

大家有没有更好的解决办法?我正在尝试自己创建邮件服务器比如MDaemon,设置不要认证,然后用CDO通过自己的账号发邮件,发件人使用为推荐人的邮件地址,不知道这个思路是否可行?
goody9807 2003-08-21
  • 打赏
  • 举报
回复
up
yohomonkey 2003-08-21
  • 打赏
  • 举报
回复
先给你个例子:
(下面的文本copy自www.aspcool.com)
///< description>本文用asp.net实现把此文推荐给好友的功能。
///< copyright>ASP酷技术资讯网(www.ASPCool.com)
///< /summary>

这里飞鹰用一个简单的例子向大家介绍如何使用asp.net的邮件发送功能。首先,我们先做一个发送界面。tuijian.asp, 其中title是代表文章的标题,id代表文章的编号。

< html>
< body>
您好,欢迎使用ASP酷技术资讯网文章推荐功能,您推荐的文章为:《》.< BR>
< form action="mail.aspx">
您的信箱:< INPUT TYPE="text" NAME="sender">

收件人信箱:< INPUT TYPE="text" NAME="accepter">

< INPUT TYPE="hidden" name="title" value="">
< INPUT TYPE="hidden" name="id" value="">
< INPUT TYPE="submit" value="发送">< INPUT TYPE="reset" value="重写">
< /form>
< /body>
< /html>

下面我们就用asp.net来实现推荐文章功能,mail.aspx

< % @Page Language="C#" Debug="true"%>
< % @Import Namespace="System.Web.Mail" %>
< %


MailMessage msgMail = new MailMessage();

msgMail.To = Request["accepter"]; //邮件接受者
msgMail.Cc = "webmaster@aspcool.com";
msgMail.From = Request["sender"];
msgMail.Subject = "您的朋友从ASPCOOL.COM给您推荐了一篇文章。";

msgMail.BodyFormat = MailFormat.Html;
string strBody = "< html>< body>< b>" + Request[" accepter"] +",您好。< br>" +
"您的朋友: < font color=\"red\">"+ Request[" sender"]+ "从< a href=http://www.aspcool.com>ASP酷技术资讯网给您推荐了一篇文章--< a href=http://www.aspcool.com/lanmu/dot.asp?ID=" +Request["id"]+ Request["title"] +".请
msgMail.Body = strBody;

SmtpMail.Send(msgMail);

Response.Write("您好,您的推荐信已经发出去了,谢谢您对< a href=http://www.aspcool.com>ASP酷技术资讯网的支持!请< a href=http://www.aspcool.com>返回");
%>

看,是不是很简单,如果你有支持asp.net的空间的话就可以轻松推荐您的网站了。

(代码结束)


「已注销」 2003-08-21
  • 打赏
  • 举报
回复
jeffrey_rui(Jeffrey) :
发件人地址就是你自己呗,难道你想用来发垃圾邮件?
alphawin 2003-08-21
  • 打赏
  • 举报
回复
学习
jeffrey_rui 2003-08-21
  • 打赏
  • 举报
回复
sumanden(心头慌,打中张):怎么解决发件人地址的问题呢?
「已注销」 2003-08-21
  • 打赏
  • 举报
回复
看了你的需求,那用CDO或Jmail都是可以的。
jeffrey_rui 2003-08-21
  • 打赏
  • 举报
回复
yohomonkey(关在笼子里的猴):我希望发出去的邮件内容是页面html,用js的mailto恐怕不仅不能实现而且用户使用也不方便,那篇文章介绍的就是我用的第一种方法,缺点是很多邮箱收不到这种方法发出的邮件.
jeffrey_rui 2003-08-21
  • 打赏
  • 举报
回复
我知道用CDO可以发送,但是发件人地址是自己的,如何作到用用户的邮件地址做发件人地址?我试过如果认证用的发件人地址和mail.from不一致邮件发不出去的.
加载更多回复(7)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧