asp.net 发送邮件
几个月前,做用户注册模块要用到发送邮件功能,也碰到了些或大或小的问题,现在总结一下:
我先贴出发送邮件用到的代码:
public void SendEmail(string stremail, string content,string title)
{
MailMessage mm = new MailMessage();
mm.from = new MailAddress(公司邮箱);
mm.To.Add(stremail); //stremail为目标邮箱地址
mm.Subject = title; //邮件标题
mm.Body = content;
mm.IsBodyHtml = true;
SmtpClient client = new SmtpClient("smtp.126.com");
client.Credentials = new NetworkCredential(公司邮箱, 邮箱密码);//CredentialCache.DefaultNetworkCredentials;
try
{
client.Send(mm);
}
catch
{
//异常处理。。。
}
}
1,当初,我使用自己的126邮箱来发送邮件,在程序中,代码没变动。结果:总是失败。
网上查资料说是关闭了该项服务。只能使用02年以前注册的邮箱才可以。最终找到一个同事的邮箱用来发送邮件,
还是没改动代码,结果。成功了。
2 今天要改动点需求,又翻开代码,发现发送邮件失败。“邮件表头中找到无效字符”,郁闷了好一会儿,最终,想起自己改动过计算机名,
改成中文了,到网上一查资料,发现有人提到。原因是SmtpClient使用了计算机名作为smtp协议中HELO命令的参数,而在发送命令时又会对字符进行检查,若是非法字符则会抛出异常,很不幸中文字符都包括在内
相关文档:
看了asp.net 的回调技术后不是很理解。还是把写的东西贴下,自己以后学习时候多看看。前台index.aspx页<%@ Page Language="C#" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="_Default" %>
<%@ Import Namespace = "System.Text" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transit ......
ASP.NET中,若要将一个URL参数值赋值给一个变量,都得先判断参数是否存在,否则等待你的很可能就是"未将对象引用设置到对象的实例",以前都是
Request.QueryString["xx"] != null比较后再赋值,但今天在一个项目中发现竟还报错,代码大致结构如下:
复制内容到剪贴板
程序代码
int id = 0;
if (R ......
测试环境:windows server 2003+visual studio 2008
''' <summary>
''' 获取Excel文件所有工作表的名称
''' </summary>
''' <param name="iSubPath">Excel文件路径,如:D:\test.xls</param>
  ......
由于经常要写一些采集的程序,下面的三个函数是采集中的很常用的函数。姑且叫采集系统万能正则表达式吧。
第一个://获取页面的html源码
public string GetHtmlSource(string Url, string charset)
{
& ......