zoukankan      html  css  js  c++  java
  • .Net Mail SMTP 发送网络邮件

    刚刚迈入"开发"的行列 一直有一个想法 我什么时候能给我庞大的用户信息数据库给每一位用户邮箱发送推荐信息呢?

    刚迈入"编程两个月的时间" 我采用 SMTP 发送网络邮件 ,先上常用的邮件服务器 在上代码

    这里是邮件服务器名 POP3 协议使用POP地址 解析 SMTP 使用SMTP发送邮件

    /*发送邮件方式*/

    using System;
    using System.Net.Mail;
    using System.Text;

    namespace ConsoleApplicationSQLServerMaximum
    {
    internal class emailconfig
    {
    /// <summary>
    /// 发送者
    /// </summary>
    public string mailFrom { get; set; }

    /// <summary>
    /// 收件人
    /// </summary>
    public string[] mailToArray { get; set; }

    /// <summary>
    /// 抄送
    /// </summary>
    public string[] mailCcArray { get; set; }

    /// <summary>
    /// 标题
    /// </summary>
    public string mailSubject { get; set; }

    /// <summary>
    /// 正文
    /// </summary>
    public string mailBody { get; set; }

    /// <summary>
    /// 发件人密码
    /// </summary>
    public string mailPwd { get; set; }

    /// <summary>
    /// SMTP邮件服务器
    /// </summary>
    public string host { get; set; }

    /// <summary>
    /// 正文是否是html格式
    /// </summary>
    public bool isbodyHtml { get; set; }

    /// <summary>
    /// 附件
    /// </summary>
    public string[] attachmentsPath { get; set; }

    public bool Send()
    {
    //使用指定的邮件地址初始化MailAddress实例
    MailAddress maddr = new MailAddress(mailFrom);
    //初始化MailMessage实例
    MailMessage myMail = new MailMessage();


    //向收件人地址集合添加邮件地址
    if (mailToArray != null)
    {
    for (int i = 0; i < mailToArray.Length; i++)
    {
    myMail.To.Add(mailToArray[i].ToString());
    }
    }

    //向抄送收件人地址集合添加邮件地址
    if (mailCcArray != null)
    {
    for (int i = 0; i < mailCcArray.Length; i++)
    {
    myMail.CC.Add(mailCcArray[i].ToString());
    }
    }
    //发件人地址
    myMail.From = maddr;

    //电子邮件的标题
    myMail.Subject = mailSubject;

    //电子邮件的主题内容使用的编码
    myMail.SubjectEncoding = Encoding.UTF8;

    //电子邮件正文
    myMail.Body = mailBody;

    //电子邮件正文的编码
    myMail.BodyEncoding = Encoding.Default;

    myMail.Priority = MailPriority.High;

    myMail.IsBodyHtml = isbodyHtml;

    //在有附件的情况下添加附件
    try
    {
    if (attachmentsPath != null && attachmentsPath.Length > 0)
    {
    Attachment attachFile = null;
    foreach (string path in attachmentsPath)
    {
    attachFile = new Attachment(path);
    myMail.Attachments.Add(attachFile);
    }
    }
    }
    catch (Exception err)
    {
    throw new Exception("在添加附件时有错误:" + err);
    }

    SmtpClient smtp = new SmtpClient();
    //指定发件人的邮件地址和密码以验证发件人身份
    smtp.Credentials = new System.Net.NetworkCredential(mailFrom, mailPwd);


    //设置SMTP邮件服务器
    smtp.Host = host;

    try
    {
    //将邮件发送到SMTP邮件服务器
    smtp.Send(myMail);
    return true;

    }
    catch (System.Net.Mail.SmtpException ex)
    {
    Console.WriteLine(ex);
    return false;
    }

    }
    }
    }

    /这里我采用MVC同样支持 Web WinFrom 控制台 HTML JQuery ,JAVASCRIPT/

    using System;
    using System.Collections.Generic;
    using System.Data.SqlClient;
    using System.Linq;
    using System.Net;
    using System.Net.Mail;
    using System.Text;
    using System.Threading.Tasks;

    using MvcNetEmail.App_Start;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;

    namespace MvcNetEmail.Controllers
    {
    public class HomeController : Controller
    {
    public bool SendEmail()
    {
    emailconfig email = new emailconfig();
    email.mailFrom = "*********@lhys.cc"; //发件人账号
    email.mailPwd = "**********";//发件人密码
    email.mailSubject = HttpContext.Request.Form["Serach[T]"]; ;//发送邮件标题
    email.mailBody = HttpContext.Request.Form["Serach[V]"]; ;//发送邮件正文
    email.isbodyHtml = true; //正文是否是Html格式
    email.host = "smtp.263.net"; //smtp 邮件服务器
    email.mailToArray = new string[] { HttpContext.Request.Form["Serach[S]"]};//收件人 可以是数组这里简单起见 不请求数据库
    if (email.Send())
    {
    return true;
    }
    else
    {
    return false;
    }
    }

    /************************************************************贴图***********************************************************/

    闲暇时间又通过bootStrap 重新设计了页面 感觉真的是好多了!  

    总结:

      0.是不是特别的简单?

      1.世上无难事只怕有心人呐(只要您想做没有做不到的呐)

      2.当然这只是其中的一种方式 这种方式有利有弊smtp(一般QQ邮箱是默认关闭的..原因屏蔽垃圾邮件 如下图)i<100 我估计你也受不了吧

       

     2.5 偶尔可以任性一把 

     3.发送邮件端口很多 各有利弊 各位朋友斟酌使用 

    gmail(google.com)

    POP3服务器地址:pop.gmail.com

    SMTP服务器地址:smtp.gmail.com

     

    21cn.com:

    POP3服务器地址:pop.21cn.com

    SMTP服务器地址:smtp.21cn.com sina.com:

     

    sina.com:

    POP3服务器地址:pop3.sina.com.cn

    SMTP服务器地址:smtp.sina.com.cn

     

    tom.com:

    POP3服务器地址:pop.tom.com

    SMTP服务器地址:smtp.tom.com

     

    163.com:

    POP3服务器地址:pop.163.com

    SMTP服务器地址:smtp.163.com

     

    263.net:

    POP3服务器地址:pop3.263.net

    SMTP服务器地址:smtp.263.net

     

    x263.net:

    POP3服务器地址:pop.x263.net

    SMTP服务器地址:smtp.x263.net

     

    263.net.cn:

    POP3服务器地址:pop.263.net.cn

    SMTP服务器地址:smtp.263.net.cn

     

    elong.com:

    POP3服务器地址:pop3.elong.com

    SMTP服务器地址:smtp.elong.com

     

    china.com:

    POP3服务器地址:pop.china.com

    SMTP服务器地址:smtp.china.com

     

    sohu.com:

    POP3服务器地址:pop3.sohu.com

    SMTP服务器地址:smtp.sohu.com

     

    etang.com:

    POP3服务器地址:pop.etang.com

    SMTP服务器地址:smtp.etang.com

     

    yahoo.com:

    POP3服务器地址:pop.mail.yahoo.com

    SMTP服务器地址:smtp.mail.yahoo.com

     

    yahoo.com.cn:

    POP3服务器地址:pop.mail.yahoo.com.cn

    SMTP服务器地址:smtp.mail.yahoo.com.cn

  • 相关阅读:
    实验四 代码评审
    实验三、UML 建模工具的安装与使用
    结对编程 第二阶段
    结对编程第一阶段
    实验一 GIT代码版本管理
    实验五 单元测试
    实验四 代码评审
    实验三 UML 建模工具的安装与使用
    结对编程阶段二
    结对编程第一阶段
  • 原文地址:https://www.cnblogs.com/rancrazy/p/6094747.html
Copyright © 2011-2022 走看看