C#编写发送邮件组件

作者:hebedich 时间:2022-08-26 19:28:57 

在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#,发送邮件
0
投稿

猜你喜欢

  • 详解基于java的Socket聊天程序——初始设计(附demo)

    2023-02-01 06:46:21
  • springcloud-gateway整合jwt+jcasbin实现权限控制的详细过程

    2023-11-20 12:57:09
  • Java对象不使用时赋值null的意义详解

    2023-11-25 01:46:20
  • Java ForkJoin框架的原理及用法

    2022-03-13 05:26:51
  • 基于jdk动态代理和cglib动态代理实现及区别说明

    2022-04-11 00:32:44
  • Windows下RabbitMQ安装及配置详解

    2022-04-29 08:11:18
  • java程序员如何编写更好的单元测试的7个技巧

    2023-09-05 14:57:24
  • 解决SpringMVC使用@RequestBody注解报400错误的问题

    2022-02-26 16:06:43
  • Java数据结构之线索化二叉树的实现

    2022-03-16 15:25:34
  • SpringBoot使用Thymeleaf模板引擎访问静态html的过程

    2023-11-25 10:04:44
  • springcloud之自定义简易消费服务组件

    2022-01-29 00:18:24
  • C#知识整理

    2021-08-02 18:24:26
  • Java实体类不要使用基本类型的知识点总结

    2023-02-21 10:04:49
  • 通过实例解析java8中的parallelStream

    2022-04-17 12:59:37
  • java语言自行实现ULID过程底层原理详解

    2023-04-13 22:38:50
  • JVM代码缓存区CodeCache原理及用法解析

    2023-08-09 06:02:29
  • Java实现二分搜索树的示例代码

    2023-08-05 10:43:40
  • 简单谈谈java自定义注解

    2021-07-21 18:40:53
  • Unity实现虚拟键盘

    2022-05-24 11:25:38
  • springboot整合solr的方法详解

    2023-01-20 17:54:37
  • asp之家 软件编程 m.aspxhome.com