在.net中,大家知道,可以使用system.web.mail来发送邮件。在framework 1.1下支持验证。private void page_load(object sender, system.eventargs e)
{
mailmessage mail = new mailmessage();
mail.to = "me@mycompany.com";
mail.from = "you@yourcompany.com";
mail.subject = "this is a test email.";
mail.body = "some text goes here";
mail.fields.add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
mail.fields.add("http://schemas.microsoft.com/cdo/configuration/sendusername", "my_username_here"); //set your username here
mail.fields.add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "super_secret"); //set your password here
smtpmail.smtpserver = "mail.mycompany.com"; //your real server goes here
smtpmail.send( mail );
}
以前我曾写过在.net下发送邮件的方法,详见:
http://dev.csdn.net/develop/article/17/17189.shtm
sql server中,我们一般使用sql本身的邮件发送方式,但需要配置exchage server、outlook等,也是一个比较繁琐的事情。很多人抱怨说配置不成功。
其实,我们可以在 sql server中创建 ole 对象实例,调用iis smtp自带的发送组件来实现邮件发送。
我们建立这个存储过程,你需要修改的地方是,smtpserver的名字
create procedure sys_sendmail @from varchar(100) , @to varchar(100) , @bcc varchar(500), @subject varchar(400)=" ", @body ntext =" "
as
declare @object int
declare @hr int
exec @hr = sp_oacreate ’cdo.message’, @object out
exec @hr = sp_oasetproperty @object, ’configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusing").value’,’2’
exec @hr = sp_oasetproperty @object, ’configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpserver").value’, ’smtp.163.com’
--下面三条语句是smtp验证,如果服务器需要验证,则必须要这三句,你需要修改用户名和密码
exec @hr = sp_oasetproperty @object, ’configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").value’,’1’
exec @hr = sp_oasetproperty @object, ’configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusername").value’,’lihonggen0’
exec @hr = sp_oasetproperty @object, ’configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendpassword").value’,’xxx’
exec @hr = sp_oamethod @object, ’configuration.fields.update’, null
exec @hr = sp_oasetproperty @object, ’to’, @to
exec @hr = sp_oasetproperty @object, ’bcc’, @bcc
exec @hr = sp_oasetproperty @object, ’from’, @from
exec @hr = sp_oasetproperty @object, ’subject’, @subject
exec @hr = sp_oasetproperty @object, ’textbody’, @body
exec @hr = sp_oamethod @object, ’send’, null
--判断出错
if @hr <> 0
begin
exec sp_oageterrorinfo @object
return @object
end
print ’success’
exec @hr = sp_oadestroy @object
go 注意:必须确保安装smtp,可以访问cdo对象。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器