在VS.NET 2005中调用带身份验证smtp服务器发送邮件
2007-05-13 18:54
701 查看
其实在2005中发送邮件很容易,只不过在调用邮件服务器时可能要用到身份验证,而在2003下是用System.Web.Mail;空间下的System.Web.Mail.MailMessage实例,
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate","1");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername","用户名");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword","密码");
其中mail为System.Web.Mail.MailMessage的实例。而在2005下已经建议用System.Net.Mail;而System.Net.Mail.MailMessage实例没有Fields属性,所以要用新的验证方法。
2005中的邮件服务器身份验证其实更容易,只要在WebConfig中进行简单配置即可,如:
<configuration>
<system.net>
<mailSettings>
<smtp from="用户名@163.com">
<network host="smtp.163.com" userName="用户名" password="密码" port="25" defaultCredentials="false"/>
</smtp>
</mailSettings>
</system.net>
</configuration>
后台代码举例:
using System.Net.Mail;
protected void btn_send_Click(object sender, EventArgs e)
{
try
{
MailAddress from = new MailAddress("发件人地址");//如test@163.com,初步测试,用test@sina.com不行,不知是不是用163的邮件服务器,就必须用163邮箱的用户名
MailAddress to = new MailAddress("收件人地址");//如test@tom.com
MailMessage mail = new MailMessage(from, to);
mail.Subject = "主题";
mail.Body = "正文";
//以下设置服务器
SmtpClient mySmth = new SmtpClient();
//以下为增加附件
Attachment data = new Attachment("附件路径");
mail.Attachments.Add(data);
mySmth.Send(mail);
mail.Dispose();
}
catch
{
Response.Write("<script>alert('邮件发送出错!')</script>");
}
}
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate","1");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername","用户名");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword","密码");
其中mail为System.Web.Mail.MailMessage的实例。而在2005下已经建议用System.Net.Mail;而System.Net.Mail.MailMessage实例没有Fields属性,所以要用新的验证方法。
2005中的邮件服务器身份验证其实更容易,只要在WebConfig中进行简单配置即可,如:
<configuration>
<system.net>
<mailSettings>
<smtp from="用户名@163.com">
<network host="smtp.163.com" userName="用户名" password="密码" port="25" defaultCredentials="false"/>
</smtp>
</mailSettings>
</system.net>
</configuration>
后台代码举例:
using System.Net.Mail;
protected void btn_send_Click(object sender, EventArgs e)
{
try
{
MailAddress from = new MailAddress("发件人地址");//如test@163.com,初步测试,用test@sina.com不行,不知是不是用163的邮件服务器,就必须用163邮箱的用户名
MailAddress to = new MailAddress("收件人地址");//如test@tom.com
MailMessage mail = new MailMessage(from, to);
mail.Subject = "主题";
mail.Body = "正文";
//以下设置服务器
SmtpClient mySmth = new SmtpClient();
//以下为增加附件
Attachment data = new Attachment("附件路径");
mail.Attachments.Add(data);
mySmth.Send(mail);
mail.Dispose();
}
catch
{
Response.Write("<script>alert('邮件发送出错!')</script>");
}
}
相关文章推荐
- Ubuntu下调用外部邮箱SMTP服务器发送邮件
- Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库 自定义日志记录功能,按日记录,很方便 C#常量和字段以及各种方法的语法总结 类型,对象,线程栈,托管堆在运行时的关系,以及clr如何调用静态方法,实例方法,和虚方法 asp.net webapi 自定义身份验证
- 用vs .net 2005 beta2开发简单smtp邮件程序有感
- 每日学习总结:CSS:Clear属性的用法、重复交易提示框、弹出提示框后页面变形、asp.net调用smtp服务发送邮件问题
- IIS配置SMTP服务器,ASP.net发送邮件
- postfix client 端强制勾选“SMTP发送服务器需身份验证”
- 一段VB.NET代码,生成邮件,发送邮件,支持SMTP验证用户名密码.
- Ubuntu 使用 heirloom-mail 调用外部邮箱 SMTP 服务器发送邮件
- 如何发送需要验证身份的SMTP邮件
- 通过SMTP SERVER 无需身份验证发送邮件
- 每日学习总结:CSS:Clear属性的用法、重复交易提示框、弹出提示框后页面变形、asp.net调用smtp服务发送邮件问题
- 调用smtp.qq.com服务器发送邮件,既然是这样发送失败。
- php mailer类调用远程SMTP服务器发送邮件实现方法
- php mailer类调用远程SMTP服务器发送邮件实现方法
- 微软BI 之SSIS 系列 - 使用 Script Task 访问非 Windows 验证下的 SMTP 服务器发送邮件
- python smtplib模块(实现调用第三方smtp服务器发送邮件)
- Ubuntu 使用 heirloom-mail 调用外部邮箱 SMTP 服务器发送邮件
- 163邮箱发送邮件碰到:System.Net.Mail.SmtpException: 不允许使用邮箱名称。 服务器响应为:authentication is required
- 使用php mailer类调用远程SMTP服务器发送邮件
- 使用php mailer类调用远程SMTP服务器发送邮件Could not execute: /var/qmail/bin/sendmai