C#编写发送邮件组件

 更新时间:2015年06月17日 11:42:27   投稿:hebedich  
本文给大家分享的是使用C#编写的发送邮件的组件,非常的简单实用,有需要的小伙伴可以参考下。

在MailSetting里的配置好邮件服务器,然后MailEntity里配置好要发送的邮件主体,最后使用MailServer里的方法Send发送邮件

MailEntity.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
 
namespace AutoOutTicket.Mail
{
  public class MailEntity
  {
    public string from;
    public string to;
    public string fromName;
    public string toName;
    public string cc;
    public bool isHtml;
    public string subject;
    public string body;
    public string attach;
  }
}

MailServer.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Web;
 
namespace AutoOutTicket.Mail
{
  public class MailServer
  {
    MailEntity _entity = null;
    MailSetting _settings = null;
    public MailServer(MailEntity entity, MailSetting settings)
    {
      this._entity = entity;
      this._settings = settings;
    }
    public bool Send()
    {
      try
      {
        MailMessage message = new MailMessage(_settings.smtpUser, _entity.to);
        message.IsBodyHtml = _entity.isHtml;
        message.Subject = _entity.subject;
        message.Body = _entity.body;
        if (!string.IsNullOrWhiteSpace(_entity.cc))
        {
          message.CC.Add(_entity.cc);
        }
        if (!string.IsNullOrWhiteSpace(_entity.attach))
        {
          Attachment atta=new Attachment(_entity.attach);
          message.Attachments.Add(atta);
        }
 
        SmtpClient client = new SmtpClient(_settings.smtpHost, _settings.smtpPort);
        client.Credentials = new NetworkCredential(_settings.smtpUser, _settings.smtpPass);
 
        client.SendAsync(message, null);
 
        return true;
      }
      catch (Exception)
      {
      }
      return false;
    }
  }
}

MailSetting.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
 
namespace AutoOutTicket.Mail
{
  public class MailSetting
  {
    public string smtpHost = "";
    public int smtpPort;
    public string smtpUser = "";
    public string smtpPass = "";
    public MailSetting()
    {
    }
    public MailSetting(string smtpServer, int smtpPort, string smtpUser, string smtpPass)
    {
      this.smtpHost = smtpServer;
      this.smtpPort = smtpPort;
      this.smtpUser = smtpUser;
      this.smtpPass = smtpPass;
    }
  }
}

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

  • 浅析C# 结构体struct

    浅析C# 结构体struct

    这篇文章主要介绍了C# 结构体struct 的相关资料,帮助大家更好的理解和学习c#,感兴趣的朋友可以了解下
    2020-08-08
  • C#操作注册表之Registry类

    C#操作注册表之Registry类

    这篇文章介绍了C#操作注册表之Registry类,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C#使用Tesseract进行Ocr识别的方法实现

    C#使用Tesseract进行Ocr识别的方法实现

    本文主要介绍了C#使用Tesseract进行Ocr识别的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 详解C#把DataTable中数据一次插入数据库的方法

    详解C#把DataTable中数据一次插入数据库的方法

    本篇文章主要介绍了详解C#把DataTable中数据一次插入数据库的方法,具有一定的参考价值,有兴趣的可以了解一下。
    2017-01-01
  • C#控制Excel Sheet使其自适应页宽与列宽的方法

    C#控制Excel Sheet使其自适应页宽与列宽的方法

    这篇文章主要介绍了C#控制Excel Sheet使其自适应页宽与列宽的方法,涉及C#操作Excel的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • C#连接db2数据库的实现方法

    C#连接db2数据库的实现方法

    本篇文章是对C#连接db2数据库的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C#使用Gembox.SpreadSheet向Excel写入数据及图表的实例

    C#使用Gembox.SpreadSheet向Excel写入数据及图表的实例

    下面小编就为大家分享一篇C#使用Gembox.SpreadSheet向Excel写入数据及图表的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • c# Struct的一些问题分析

    c# Struct的一些问题分析

    在 C# 中,结构体是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构体。结构体是用来代表一个记录。
    2021-06-06
  • C#解析JSON实例

    C#解析JSON实例

    这篇文章主要介绍了C#解析JSON的方法,主要采用了C#自带的JavaScriptSerializer类来实现,方法简单实用,需要的朋友可以参考下
    2014-09-09
  • C#如何用ThoughtWorks生成二维码

    C#如何用ThoughtWorks生成二维码

    这篇文章主要介绍了C#如何用ThoughtWorks生成二维码,文中讲解非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-08-08

最新评论