C#.NET发送邮件的实例代码

代码如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;
using System.Net;
namespace MyQuery.Utils
{
    /// <summary>
    /// 封装邮件处理
    /// by 贾世义 2011-6-3
    /// </summary>
    public static class MailHelper
    {
        private static string smtpHost = null;
        private static int smptPort = 25;
        private static bool smtpIsUserCredentials = false;
        private static string smtpCredentialAccount = null;
        private static string smtpCredentialPassword = null;
        /// <summary>
        /// 设置发送邮件参数
        /// </summary>
        /// <param name="host">smtp服务器地址或名称</param>
        /// <param name="port">smtp服务端口 一般为25</param>
        /// <param name="isUserCredentials">是否需要认证</param>
        /// <param name="account">需要认证时的用户</param>
        /// <param name="password">需要认证时的用户的密码</param>
        public static void SetParameters(string host, int port, bool isUserCredentials, string account, string password)
        {
            smtpHost = host;
            smptPort = port;
            smtpIsUserCredentials = isUserCredentials;
            smtpCredentialAccount = account;
            smtpCredentialPassword = password;
        }
        /// <summary>
        /// 设置发送邮件参数 取配置
        /// </summary>
        private static void setParameters()
        {
            if (String.IsNullOrEmpty(smtpHost))
            {
                smtpHost = WebHelper.GetAppConfig("SmtpHost");
                smptPort = DataHelper.GetIntValue(WebHelper.GetAppConfig("SmptPort"), 25);
                smtpIsUserCredentials = Constants.TRUE_ID.Equals(WebHelper.GetAppConfig("SmtpIsUserCredentials"));
                smtpCredentialAccount = WebHelper.GetAppConfig("SmtpCredentialAccount");
                smtpCredentialPassword = WebHelper.GetAppConfig("SmtpCredentialPassword");
            }
        }
        /// <summary>
        /// 发送邮件 发送邮件错误不会抛出异常
        /// </summary>
        /// <param name="receivers">收件人</param>
        /// <param name="title">标题/主题</param>
        /// <param name="content">信件内容</param>
        /// <param name="sender">发件人 空则取系统配置</param>
        public static void SendMail(string receivers, string title, string content, string sender)
        {
            if (!String.IsNullOrEmpty(receivers))
            {
                //初始化参数
                setParameters();
                if (!String.IsNullOrEmpty(smtpHost))
                {
                    try
                    {
                        SmtpClient smtp = new SmtpClient(smtpHost, smptPort);
                        if (smtpIsUserCredentials)
                        {
                            smtp.UseDefaultCredentials = true;
                            smtp.Credentials = new NetworkCredential(smtpCredentialAccount, smtpCredentialPassword); ;
                        }
                        smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                        if (String.IsNullOrEmpty(sender))
                        {
                            sender = smtpCredentialAccount;
                        }
                        foreach (string receiver in DataHelper.GetStrings(receivers))
                        {
                            MailMessage msg = new MailMessage(sender, receiver, title, content);
                            msg.BodyEncoding = Encoding.UTF8;
                            msg.SubjectEncoding = Encoding.UTF8;
                            msg.IsBodyHtml = true;
                            smtp.Send(msg);
                            msg.Dispose();
                        }
                    }
                    catch { }
                }
            }
        }
    }
}

(0)

相关推荐

  • asp.net mvc发送邮件实例讲解

    QQ邮箱 POP3 和 SMTP 服务器地址设置如下:邮箱POP3服务器(端口110)SMTP服务器(端口25)qq.compop.qq.comsmtp.qq.comSMTP服务器需要身份验证. 如果是设置POP3和SMTP的SSL加密方式,则端口如下: POP3服务器(端口995) SMTP服务器(端口465或587). qq邮箱要注意开启下面的服务:qq会给你个授权码,在下面的代码中详细的讲了在哪用这个授权码. 控制器中代码: using System.Net.Mail;//邮件发送需引用

  • Asp.net发送邮件的两种方法小结

    一,利用大网站的SMTP来发送邮件 这种方法适用于程序运行环境没有配置SMTP的服务器,想借助于其他smtp来发送邮件的情况,当然需要有此smtp的账户才行,例如如果使用Google的SMTP服务器,有三点需要注意:启用SSL,端口和地址smtp.gmail.com. 二,利用本地的smtp来发送邮件 这种方法要求本地有smtp服务器,如果没有,windows 7和vista上面没有smtp服务器可以安装一个软件, Free SMTP Server,下载地址:http://www.softsta

  • .net发送邮件实现代码

    MailMessage objMail = new MailMessage(); objMail.Subject = "邮件主题"; objMail.Body = "邮件正文"; string mfrom = txtFrom.Value; //从页面读取发送者地址 objMail.From = new MailAddress(mfrom); string mt = txtTo.Value; //从页面读取接收者地址 MailAddress ma = new Mail

  • 在ASP.NET2.0中通过Gmail发送邮件的代码

    在这里我们主要是使用Gmail,究其原因,是因为,我在使用Gmail的邮箱发送邮件的时候,遇到一小小的困难,而使用163等邮箱的时候,没遇到这个问题.     在ASP.NET2.0中,发送邮件是很简单的,我们主要使用来自命名空间System.Net.Mail中的几个类,MailMessage和SmtpClient.     核心代码是很简洁的,如下:     复制代码 代码如下: string to = "这里填写接收者的Email地址";      string from = &q

  • 在asp.NET 中使用SMTP发送邮件的实现代码

    核心代码: 复制代码 代码如下: public class Mail { #region 邮件参数 static public string accountName = System.Configuration.ConfigurationManager.AppSettings["SmtpAccountName"]; static public string password = System.Configuration.ConfigurationManager.AppSettings[

  • .NET发送邮件遇到问题及解决方法

    .NET后台代码利用QQ邮箱服务器发送邮件遇到的问题:"mail from address must be same as authorization user" 首先,看下我的代码实现 后台代码: public class EmailHelper { /// <summary> /// 发送邮件 /// </summary> /// <param name="subject">主题</param> /// <p

  • asp.net System.Net.Mail 发送邮件

    举例: 复制代码 代码如下: 163.com的邮箱在早期申请的是支持的,后面申请的都是不支持. 21cn.com似乎现在已经放弃了smtp支持,可能只有缴费用户才可以. qq.com的邮箱需要在用户帐户里面设置. 我拿了个sina.com的邮箱进行测试,也需要在后台里面的才可以发送.详细代码如下: 复制代码 代码如下: MailAddress from = new MailAddress("sosuo8@sina.com"); MailAddress to = new MailAddr

  • .NET实现定时发送邮件代码(两种方式)

    有时候我们或许会遇到想在某一个时刻给别人发送一封邮件,就像是在生日的时候,但是我们又怕到时候忘记了,这时就应该 使用发送定时邮件的功能,但是这个定时发送邮件功能是怎么实现的呢?下面用两种方式实现.net定时发送邮件代码,具体请看下面内容. 实现思路.需求添加一个全局应用程序类Global.asax 代码会在访问网站时运行 Global.asax代码: void Application_Start(object sender, EventArgs e) { // 在应用程序启动时运行的代码 Sys

  • .net中 发送邮件内容嵌入图片的具体实例

    例程一 邮件内容调用图片格式为:<img src=\"cid:Email001\"> 发送邮件的服务端代码为: SmtpClient 发送邮件的对象 //代码省略 复制代码 代码如下: System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage();mailMessage.From="发送者邮箱";mailMessage.To.Add("收件人邮件列表&qu

  • asp.net发送邮件实现方法

    本文实例讲述了asp.net发送邮件的实现方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: MailMessage mailMsg = new MailMessage();    //设置收件人的邮件地址    mailMsg.To = "bailichunwow@qq.com ";        //设置发送者的邮件地址    mailMsg.From = "bailichun@vip.qq.com ";    //设置邮件主题    mail

随机推荐