C# 通过smtp服务器进行邮件发送 MailHelper

简介: C# 通过smtp服务器进行邮件发送 MailHelper.cs using System;using System.Data;using System.

C# 通过smtp服务器进行邮件发送 MailHelper.cs

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net;
using System.IO;
using System.Text;
using System.Net.Mail;

/// <summary>
/// MailHelper 的摘要说明
/// </summary>
public class MailHelper
{
    public MailHelper()
    {
    }

    public string addres_mail = Common.GetConfig("mail", "MailConfig.xml");
    public string addres_smtp = Common.GetConfig("smtp", "MailConfig.xml");
    public string addres_mailpwd = Common.GetConfig("mailpwd", "MailConfig.xml");

    //发送邮件
    public static bool SendEmail(string userEmail, string subject, string content)
    {
        SendSms sms = new SendSms();
        bool bfg = false;
        try
        {
            WriteLog("C://Log//SMTP//", "发信邮箱:" + sms.addres_mail + " 发信密码:" + sms.addres_mailpwd + " 发信smtp:" + sms.addres_smtp + " Email:" + userEmail + "\r\n");
            MailMessage msg = new MailMessage();
            msg.IsBodyHtml = true;
            msg.From = new MailAddress(sms.addres_mail, "越界门户网站-密码找回", Encoding.GetEncoding("utf-8"));
            msg.To.Add(userEmail);
            msg.BodyEncoding = Encoding.GetEncoding("utf-8");
            msg.SubjectEncoding = Encoding.GetEncoding("utf-8");
            msg.Subject = subject;
            msg.Body = content;
            //// 添加附件
            string sfile = "附件地址";
            mail.Attachments.Add(new Attachment(sfile));

            SmtpClient mail = new SmtpClient();//实例   
            mail.Host = sms.addres_smtp;     //发信主机   
            mail.Port = 25;
            mail.UseDefaultCredentials = true;
            mail.Credentials = new NetworkCredential(sms.addres_mail, sms.addres_mailpwd);
            mail.Send(msg);
            bfg = true;
        }
        catch (Exception ex)
        {
            WriteLog("C://Log//Error//", "错误信息 Message:" + ex.Message + "  Source:" + ex.Source + " StackTrace:" + ex.StackTrace + "\r\n");
        }

        return bfg;
    }


    /// <summary>
    /// 写日志
    /// </summary>
    public static void WriteLog(string LogPath, string msg)
    {

        try
        {
            string toFileFoder = LogPath;
            string toFileFullPath = LogPath + " " +
                DateTime.Now.ToString("yyyyMMdd") + ".Log";
            DirectoryInfo di = new DirectoryInfo(toFileFoder);
            if (!di.Exists)
            {
                di.Create();
            }
            System.IO.StreamWriter sw = System.IO.File.AppendText(toFileFullPath);
            sw.WriteLine(msg);
            sw.Close();
        }
        catch
        { }
    }
}


目录
相关文章
|
网络协议 关系型数据库 Shell
gitlab-设置邮件SMTP以及GitLab收不到邮件的问题
gitlab-设置邮件SMTP以及GitLab收不到邮件的问题
1127 1
|
存储 监控 Linux
linux搭建EwoMail开源邮件服务器软件
linux搭建EwoMail开源邮件服务器软件
249 0
|
8月前
|
弹性计算
【已解决】Matomo本地SMTP配置可以发邮件,但部署到阿里云ECS就发不了邮件
在阿里云ECS上使用Matomo和PHPMailer发送邮件时遇到问题,邮件无法发出且接口调用Pending。经过排查,发现是ECS安全组未开放25/465端口,导致SMTP请求无法正常通信。解决方法为在安全组中配置并开放25/465端口,从而恢复邮件发送功能。
194 2
|
设计模式 API C#
C# 一分钟浅谈:GraphQL 服务器端实现
本文通过C#语言从零开始构建一个简单的GraphQL服务器端实现,介绍了环境准备、项目创建、定义Schema、配置GraphQL等步骤。同时,探讨了常见问题如数据源问题、类型定义不一致、性能问题和权限控制,提供了相应的解决方法。希望帮助读者更好地理解和应用GraphQL。
161 3
|
算法 数据挖掘 Linux
服务器数据恢复—EXT3文件系统下邮件数据恢复案例
服务器数据恢复环境: 邮件服务器中有一组由8块盘组成的RAID5阵列, 上层是Linux操作系统+EXT3文件系统。 服务器故障: 由于误删除导致文件系统中的邮件数据丢失。
|
C# 数据安全/隐私保护
C#使用 MailKit 收发邮件
【10月更文挑战第15天】在C#中使用MailKit库可轻松实现邮件的发送与接收。首先需通过NuGet包管理器安装MailKit,并编写代码设置发件人、收件人、邮件主题及正文,连接邮件服务器并认证后即可发送邮件。接收邮件时,同样需连接服务器并认证,然后打开收件箱遍历读取邮件信息。整个过程需根据实际邮件服务器配置相应参数。
667 4
|
存储 监控 网络协议
在Linux中,如何进行邮件服务器配置?
在Linux中,如何进行邮件服务器配置?
|
监控 网络协议 网络安全
SMTP操作使用详解并通过python进行smtp邮件发送示例
SMTP操作使用详解并通过python进行smtp邮件发送示例
581 3
|
关系型数据库 MySQL Linux
在Linux中,如何配置邮件服务器?
在Linux中,如何配置邮件服务器?