个人写的一个用Jmail发邮件到类,测试成功
using System;
using System.IO;
//杨春
//2008-6-8
/// <summary>
/// Mail 的摘要说明
/// </summary>
public class MyMail
{
string publicMail = System.Configuration.ConfigurationSettings.AppSettings["PublicMail"].ToString();
string pubicmMailPassword = System.Configuration.ConfigurationSettings.AppSettings["PublicMailPasword"].ToString();
string mailUserName = System.Configuration.ConfigurationSettings.AppSettings["MailUserName"].ToString();
public MyMail()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 发邮件
/// </summary>
/// <param name="reciver">收件人</param>
/// <param name="title">主题</param>
/// <param name="content">内容</param>
/// <param name="attpath">附件</param>
/// <returns>是否成功</returns>
public bool SendMail(string reciver, string title, string content, string attpath)
{
try
{
if ("" == attpath)
{
return SendMailByJmail(reciver, title, content);
}
else
{
if (File.Exists(attpath) == true)
{
return SendMailByJmail(reciver, title, content, attpath);
}
else
{
return SendMailByJmail(reciver, title, content);
}
}
}
catch (Exception ex)
{
return false;
Console.Write(ex.Message);
}
}
/// <summary>
/// 发送无附件邮件
/// </summary>
/// <param name="reciver">收件人</param>
/// <param name="title">主题</param>
/// <param name="content">内容</param>
/// <returns>是否成功</returns>
///
private bool SendMailByJmail(string reciver,string title,string content)
{
myJmail.MessageClass JmailMessage = new myJmail.MessageClass();
JmailMessage.Charset = "GB2312";
JmailMessage.Encoding = "BASE64";
JmailMessage.ContentType = "text/html";
JmailMessage.ISOEncodeHeaders = false;
JmailMessage.Priority = Convert.ToByte(1);
JmailMessage.From = publicMail;
JmailMessage.FromName = mailUserName;
JmailMessage.Subject = title;
JmailMessage.MailServerUserName = GetLoginNameByEmail(publicMail);
JmailMessage.MailServerPassWord = pubicmMailPassword;
JmailMessage.AddRecipient(reciver, "", "");
JmailMessage.Body = content;
if (JmailMessage.Send(GetSmtpSererByEmail(publicMail), false))
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 发送带附件的邮件
/// </summary>
/// <param name="reciver">收件人</param>
/// <param name="title">主题</param>
/// <param name="content">内容</param>
/// <param name="attpath">附件路径</param>
/// <returns>是否成功</returns>
private bool SendMailByJmail(string reciver, string title, string content, string attpath)
{
myJmail.MessageClass JmailMessage = new myJmail.MessageClass();
JmailMessage.Charset = "GB2312";
JmailMessage.Encoding = "BASE64";
JmailMessage.ContentType = "text/html";
JmailMessage.ISOEncodeHeaders = false;
JmailMessage.Priority = Convert.ToByte(1);
JmailMessage.From = publicMail;
JmailMessage.FromName = mailUserName;
JmailMessage.Subject = title;
JmailMessage.MailServerUserName = GetLoginNameByEmail(publicMail);
JmailMessage.MailServerPassWord = pubicmMailPassword;
JmailMessage.AddRecipient(reciver, "", "");
JmailMessage.AddAttachment(attpath, true, attpath.Substring(attpath.LastIndexOf(".") + 1, 3));
JmailMessage.Body = content;
if (JmailMessage.Send(GetSmtpSererByEmail(publicMail), false))
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 根据Email地址得到登录名
/// </summary>
/// <param name="email">Email</param>
/// <returns>登录名</returns>
private string GetLoginNameByEmail(string email)
{
string loginName = email.Substring(0,email.IndexOf("@"));
return loginName;
}
/// <summary>
/// 根据Email得到Smtp服务器地址
/// </summary>
/// <param name="email">Email</param>
/// <returns>stmp服务器地址</returns>
private string GetSmtpSererByEmail(string email)
{
int length = email.Length;
string smtpServer = "smtp." + email.Substring(email.IndexOf("@")+1, length - email.LastIndexOf("@")-1);
return smtpServer;
}
}
本文来自博客园,作者:古道轻风,转载请注明原文链接:https://www.cnblogs.com/88223100/archive/2008/06/14/1220993.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析