博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#利用smtp服务器发送邮件简介
阅读量:4210 次
发布时间:2019-05-26

本文共 2372 字,大约阅读时间需要 7 分钟。

在命名空间using System.Net.Mail中提供方法根据指定的smtp服务器来发送邮件。下面说说如何实现:

  1、首先要发送邮件,需要有一个邮箱帐号,比如网易邮箱、新郎邮箱、qq邮箱等,我以网易的163邮箱为例。然后我们需要知道163邮箱的smtp服务器地址:smtp.163.com。一般常用的Smtp服务器地址为:

    网易126:smtp.126.com
    网易163:smtp.163.com
    搜狐:smtp.sohu.com
    新浪:smtp.sina.com.cn
    雅虎:smtp.mail.yahoo.com

  2、现在我们可以开始实现了。在新建的C# Console Application中,需要加入两个命名空间:

        using
 System.Net.Mail;  
//
新建邮件、发送邮件需要用到
        using
 System.Net;       
//
建立认证帐号需要用到

  3、下面是发送邮件的函数:

public   
static
void
SendEmail(
string
userEmail,
//
发件人邮箱
string
userPswd,
//
邮箱帐号密码
string
toEmail,
//
收件人邮箱
string
mailServer,
//
邮件服务器
string
subject,
//
邮件标题
string
mailBody,
//
邮件内容
string
[] attachFiles
//
邮件附件
)
...
{ //邮箱帐号的登录名 string username = userEmail.Substring(0, userEmail.IndexOf('@')); //邮件发送者 MailAddress from = new MailAddress(userEmail); //邮件接收者 MailAddress to = new MailAddress(toEmail); MailMessage mailobj = new MailMessage(from, to); // 添加发送和抄送 // mailobj.To.Add(""); // mailobj.CC.Add(""); //邮件标题 mailobj.Subject = subject; //邮件内容 mailobj.Body = mailBody; foreach (string attach in attachFiles) ...{ mailobj.Attachments.Add(new Attachment(attach)); } //邮件不是html格式 mailobj.IsBodyHtml = false; //邮件编码格式 mailobj.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312"); //邮件优先级 mailobj.Priority = MailPriority.High; //Initializes a new instance of the System.Net.Mail.SmtpClient class //that sends e-mail by using the specified SMTP server. SmtpClient smtp = new SmtpClient(mailServer); //或者用: //SmtpClient smtp = new SmtpClient(); //smtp.Host = mailServer; //不使用默认凭据访问服务器 smtp.UseDefaultCredentials = false; smtp.Credentials = new NetworkCredential(username, userPswd); //使用network发送到smtp服务器 smtp.DeliveryMethod = SmtpDeliveryMethod.Network; try ...{ //开始发送邮件 smtp.Send(mailobj); } catch (Exception e) ...{ Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); } }

 4、好了,你也可以去试试给自己的应用程序加上发送邮件的功能了。

转载地址:http://ddrli.baihongyu.com/

你可能感兴趣的文章
user2eng 笔记
查看>>
DRM in Android
查看>>
ARC MRC 变换
查看>>
Swift cell的自适应高度
查看>>
【linux】.fuse_hiddenXXXX 文件是如何生成的?
查看>>
【LKM】整合多个LKM为1个
查看>>
【Kernel】内核热补丁技术揭秘
查看>>
手工挂载VMware共享目录
查看>>
【Error】make LKM时 找不到符号
查看>>
【转载】【C语言】浅析C语言之uint8_t / uint16_t / uint32_t /uint64_t
查看>>
【maven】打包jar上传到服务器运行
查看>>
关闭centos wayland
查看>>
【Error】chsh: PAM: Authentication failure
查看>>
【Error】zsh历史记录丢失
查看>>
解析漏洞总结
查看>>
【Windows C++】调用powershell上传指定目录下所有文件
查看>>
kotlin-android-extensions 插件无效问题
查看>>
经典排序算法--Java实现
查看>>
Java中JRadioButton单选按钮分组方法
查看>>
Java图形界面中单选按钮JRadioButton和按钮Button事件处理
查看>>