您的位置:程序门 -> .net技术 -> c#



.net.mail


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


.net.mail[已结贴,结贴人:navysong]
发表于:2007-03-19 09:53:17 楼主
各位:
        最近需要写一个发送邮件的功能,在网上查阅了很多资料。
发现大家都是用.net.mail这个类来实现的,其中有些地方很不明白,
初始化smtp:

smtp   sm   =   new   smtp(servername);
sm.send(message);     //message是mailmessage初始化的对象,这就不写了

请问一下,许多人都用config来设置关于smtp的一些账户、验证等信息。
我的问题是,像上面的这两局代码,没有设置smtp的一些账户、验证等信息,
能发送吗?就是smtp是否需要验证才能发送?
不用config,用代码如何设置?

配置信息为:
<configuration>  

        <system.net>  

                <mailsettings>  

                        <smtp   from= "hjf1223@tom.com ">  

                                <network   host= "smtp.tom.com "   password= "   "   port= "25 "   username= "hjf1223 "   defaultcredentials= "false "/>  

                        </smtp>  

                </mailsettings>  

        </system.net>  

</configuration>  
发表于:2007-03-19 09:56:541楼 得分:5
用ini文件也可以。
发表于:2007-03-19 10:03:292楼 得分:5
可以用access或其它數據庫,我認為access比較好,不裝access的電腦,也可以運行access建的數據庫
发表于:2007-03-19 10:06:193楼 得分:10
我最近刚好做这么一个东西
smtpclient   =   new   system.net.mail.smtpclient(settings.smtpserver,   settings.smtpserverport);
smtpclient.credentials   =   new   system.net.networkcredential(settings.smtpusername,   settings.smtppassword);
我把配置都加载到一个类的静态变量里.
smtpclient.credentials作为登录邮件服务器的验证.要保证邮件服务器的合法性,因为有些邮件服务器不接收不合法的邮件服务器发来的邮件.
发表于:2007-03-19 10:33:154楼 得分:10
smtp的邮件验证要看具体的服务器,有些需要,有些不需要。。

配置楼主可以把mail自己封装成一个类。配置写在里面

不过推荐楼主用   jmail   .还蛮好用的。。。。呵呵
发表于:2007-03-19 10:49:095楼 得分:0
哦,原来是这样。
可是我刚才自己try了一下
用smtp   sm   =   new   smtp(servername);
sm.send(message);
就可以发送了,不管是否在配置过outlook的机器上运行都可以发送!新建
sm对象后,sm有一些像port   =   25   等默认值什么的

是否可以这样说,需不需要账户、密码验证完全决定于邮件服务器。
a、如果邮件服务器没有要求
直接可以发送
b、如果邮件服务器要求验证合法性,而本机配置了outlook,设置了账户、密码,可以用
smtpclient.credentials   =   credentialcache.defaultnetworkcredentials;来通过邮件服务器的认证。
c、如果邮件服务器要求验证合法性,而本机又没有配置好outlook的账户、密码,就只能采用
smtpclient.credentials   =   new   system.net.networkcredential(settings.smtpusername,   settings.smtppassword);   来通过邮件服务器的认证。

大家有过使用经验的,看一下对不对,目前项目紧,没时间try,小弟谢谢了!



快速检索

最新资讯
热门点击