您的位置:首页 > 编程语言 > C#

C#发送邮件

2014-01-17 16:14 218 查看
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="to">收件人邮件地址</param>
/// <param name="from">发件人邮件地址</param>
/// <param name="subject">邮件主题</param>
/// <param name="body">邮件内容</param>
/// <param name="username">登录smtp主机时用到的用户名,注意是邮件地址'@'以前的部分</param>
/// <param name="password">登录smtp主机时用到的用户密码</param>
/// <param name="smtpHost">发送邮件用到的smtp主机</param>
/// <returns>true-发送成功,false-发送失败</returns>
public static Boolean sendMail(String to, String from, String subject, String body, String userName, String password, String smtpHost)
{
try
{
System.Net.Mail.MailAddress fromAddr = new System.Net.Mail.MailAddress(from);
System.Net.Mail.MailAddress toAddr = new System.Net.Mail.MailAddress(to);
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(fromAddr, toAddr);
message.Subject = subject;//设置邮件主题
message.IsBodyHtml = true;//设置邮件正文为html格式
message.Body = body;//设置邮件内容
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(smtpHost);
//设置发送邮件身份验证方式
//注意如果发件人地址是abc@def.com,则用户名是abc而不是abc@def.com
client.Credentials = new System.Net.NetworkCredential(userName, password);
client.Send(message);
return true;
}
catch
{
return false;
}
}

/// <summary>
/// 清除html
/// </summary>
/// <param name="html">字符串</param>
/// <returns>无html标签的字符串</returns>
public static String clearHTML(String htmlstr)
{
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("<(?:.|\\s)*?>",
System.Text.RegularExpressions.RegexOptions.Multiline | System.Text.RegularExpressions.RegexOptions.IgnoreCase);
return reg.Replace(htmlstr, "");
}
/// <summary>
/// 十进制正整数转换成六十二进制
/// </summary>
/// <param name="Number">需要转换的数字Int64格式,不能为负数</param>
/// <param name="toBase">转换基数,必须是2至62以内</param>
/// <returns>自定义的进制字符串</returns>
public static String toDectoStr62(Int64 Number, Int32 toBase)
{
String str62 = "", Digits62 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
Int64 result = Number;
if (Number > 0)
{
while (result > 0)
{
Int32 val = toInt32(result % toBase);
str62 = String.Format("{0}{1}", Digits62[val], str62);
result = (Int64)(result / toBase);
}
return str62;
}
return "0";
}

/// <summary>
/// 六十二进制转换成十进制正整数
/// </summary>
/// <param name="str62">自定义的进制字符串</param>
/// <param name="toBase">转换基数,必须是2至62以内</param>
/// <returns>返回Int64</returns>
public static Int64 toDectoStr62(String str62, Int32 toBase)
{
String Digits62 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
int length = str62.Length;
Int64 result = 0;
for (int i = 0; i < length; i++)
{
Int64 val = (Int64)Math.Pow(toBase, (length - i - 1));
Int64 tmp = Digits62.IndexOf(str62[i]);
result += tmp * val;
}
return result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: