用.net 发送邮件

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Net;
  6. using System.Net.Mail;
  7. namespace ConsoleApplication1
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. SmtpClient smtp = new SmtpClient(); //实例化一个SmtpClient
  14. smtp.DeliveryMethod = SmtpDeliveryMethod.Network; //将smtp的出站方式设为 Network
  15. smtp.EnableSsl = false;//smtp服务器是否启用SSL加密
  16. smtp.Host = "smtp.qq.com"; //指定 smtp 服务器地址
  17. smtp.Port = 25;             //指定 smtp 服务器的端口,默认是25,如果采用默认端口,可省去
  18. //如果你的SMTP服务器不需要身份认证,则使用下面的方式,不过,目前基本没有不需要认证的了
  19. smtp.UseDefaultCredentials = true;
  20. //如果需要认证,则用下面的方式
  21. smtp.Credentials = new NetworkCredential("[email protected]", "password");
  22. MailMessage mm = new MailMessage(); //实例化一个邮件类
  23. mm.Priority = MailPriority.High; //邮件的优先级,分为 Low, Normal, High,通常用 Normal即可
  24. mm.From = new MailAddress("[email protected]", "管理员", Encoding.GetEncoding(936));
  25. //收件方看到的邮件来源;
  26. //第一个参数是发信人邮件地址
  27. //第二参数是发信人显示的名称
  28. //第三个参数是 第二个参数所使用的编码,如果指定不正确,则对方收到后显示乱码
  29. //936是简体中文的codepage值
  30. //注:上面的邮件来源,一定要和你登录邮箱的帐号一致,否则会认证失败
  31. //mm.ReplyTo = new MailAddress("[email protected]", "我的接收邮箱", Encoding.GetEncoding(936));
  32. //ReplyTo 表示对方回复邮件时默认的接收地址,即:你用一个邮箱发信,但却用另一个来收信
  33. //上面后两个参数的意义, 同 From 的意义
  34. mm.CC.Add("[email protected]");
  35. //邮件的抄送者,支持群发,多个邮件地址之间用 半角逗号 分开
  36. //当然也可以用全地址,如下:
  37. //mm.CC.Add(new MailAddress("[email protected]", "抄送者A", Encoding.GetEncoding(936)));
  38. //mm.CC.Add(new MailAddress("[email protected]", "抄送者B", Encoding.GetEncoding(936)));
  39. //mm.CC.Add(new MailAddress("[email protected]", "抄送者C", Encoding.GetEncoding(936)));
  40. //mm.Bcc.Add("[email protected],[email protected]");
  41. //邮件的密送者,支持群发,多个邮件地址之间用 半角逗号 分开
  42. //当然也可以用全地址,如下:
  43. //mm.CC.Add(new MailAddress("[email protected]", "密送者D", Encoding.GetEncoding(936)));
  44. //mm.CC.Add(new MailAddress("[email protected]", "密送者E", Encoding.GetEncoding(936)));
  45. //mm.Sender = new MailAddress("[email protected]", "邮件发送者", Encoding.GetEncoding(936));
  46. //可以任意设置,此信息包含在邮件头中,但并不会验证有效性,也不会显示给收件人
  47. //说实话,我不知道有啥实际作用,大家可不理会,也可不写此项
  48. mm.To.Add("[email protected]");
  49. //邮件的接收者,支持群发,多个地址之间用 半角逗号 分开
  50. //当然也可以用全地址添加
  51. //mm.To.Add(new MailAddress("[email protected]", "接收者g", Encoding.GetEncoding(936)));
  52. //mm.To.Add(new MailAddress("[email protected]", "接收者h", Encoding.GetEncoding(936)));
  53. mm.Subject = "这是测试邮件"; //邮件标题
  54. mm.SubjectEncoding = Encoding.GetEncoding(936);
  55. // 这里非常重要,如果你的邮件标题包含中文,这里一定要指定,否则对方收到的极有可能是乱码。
  56. // 936是简体中文的pagecode,如果是英文标题,这句可以忽略不用
  57. mm.IsBodyHtml = true; //邮件正文是否是HTML格式
  58. mm.BodyEncoding = Encoding.GetEncoding(936);
  59. //邮件正文的编码, 设置不正确, 接收者会收到乱码
  60. mm.Body = "<font color=‘red‘>邮件测试,呵呵</font>";
  61. //邮件正文
  62. //mm.Attachments.Add(new Attachment(@"d:a.doc", System.Net.Mime.MediaTypeNames.Application.Rtf));
  63. //添加附件,第二个参数,表示附件的文件类型,可以不用指定
  64. //可以添加多个附件
  65. //mm.Attachments.Add(new Attachment(@"d:b.doc"));
  66. try
  67. {
  68. smtp.Send(mm); //发送邮件,如果不返回异常, 则大功告成了。
  69. }
  70. catch (Exception ex)
  71. {
  72. Console.WriteLine(ex.Message);
  73. }
  74. Console.Read();
  75. }
  76. }
  77. }
时间: 2024-11-11 06:21:12

用.net 发送邮件的相关文章

.Net使用163smtp发送邮件时错误:邮箱不可用. has no permission解决方法

C#实现简单邮件发送代码如下 public static void SendAsync(string emailTo, string subject, string mailBody) { var msg = new MailMessage(); msg.To.Add(emailTo); // msg.From = new MailAddress(_userNameForEmail, "显示的发件人名称", System.Text.Encoding.UTF8); msg.Subject

Jenkins 2.60.x 2种发送邮件方式

1.1 默认发邮件的配置方式 1.1.1 系统级别 邮件配置 1.1.2 项目级别 邮件配置 测试构建失败是否会发邮件: 控制台输出:提示已发送邮件给项目配置指定的两个邮箱地址. 1.1.2.1  查看邮箱 1.2 第三方插件 发送邮件的配置方式 1.2.1 系统级别 邮件配置 再次打开系统配置找到如下图的地方配置发送邮件的触发条件. 1.2.1 项目级别 邮件配置 控制台输出(console output): 1.2.1.1  查看邮件 确认第一个邮箱收件人 确认第二个邮箱收件人

python 监控日志并发送邮件报警

#!/usr/bin/env python #coding:utf8 import re import os import time import smtplib import socket import fcntl import struct from email.mime.text import MIMEText def get_ip_address(ifname):     s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)     r

C# 发送邮件 附件名称为空

 示例代码: // 1.创建邮件 MailMessage mailMsg = new MailMessage(); mailMsg.To.Add(new MailAddress("[email protected]")); // 2.设置邮件标题.正文等信息 mailMsg.HeadersEncoding = Encoding.GetEncoding("gb2312"); mailMsg.SubjectEncoding = Encoding.GetEncoding(

Java 发送邮件

一 邮件的发送过程 ① 发件人编辑邮件 ② 邮件发送至发送账号所有的SMTP服务器 ③ 如果发送账号和接收账号不在同一SMTP服务器,发送账号所属的服务器负责将邮件发至收件人所属SMTP服务器 ④ 收件人查看邮件时,收件人所属服务器把邮件传给收件人的客户端 从而使用Java开发程序所需做的事情:创建和编辑邮件,发送邮件至发件人所属服务器 二 邮件的基本组成内容 如上图所示,邮件的主要组成部分有 发件人,收件人,抄送,密送,主题,附件,正文 正文是用富文本编辑器编辑,即可以是无格式文本,也可以是h

使用nodemailer发送邮件

开发网站的时候经常会遇到发送验证邮件的问题,今天介绍一种node平台上功能强大的module——nodemailer 官方网址:http://nodemailer.com/nodemailer-0-7-deprecated/ nodemailer目前有三个版本,分别是0.7.X,1.X和2.X 三个版本中最大的区别在于创建连接池,其中2.X变化别叫大,支持第三方发送邮件动态的accessKeyId 如果我们使用自己的邮箱的话,0.7.x版本就足够,本次的demo就是使用的该版本,如果有更多的需求

linux 使用msmtp登陆指定账户发送邮件

linux可以直接用mail发送邮件给对方,但是这种邮件,容易被QQ邮箱或者其他邮箱拦截掉 所以必须用指定账户发送邮件,才不会拦截. msmtp 是一个SMTP 客户端. 在默认情况下,它把邮件送给负责发邮件的SMTP 服务器 安装msmtp 下载最新版本 http://iweb.dl.sourceforge.net/project/msmtp/msmtp/1.6.3/msmtp-1.6.3.tar.xz tar xvf msmtp-1.6.3.tar.xz -C /usr/src cd /us

Linux学习笔记:使用外部SMTP发送邮件

在CENTOS 6.3上,安装mailx,即可使用外部smtp服务器来发送邮件, yum install mailx -y 安装好后,编辑配置文件 mailx -V 12.4 7/29/08  <<mailx的版本号 rpm -qc mailx /etc/mail.rc   <<网上很多教程写了配置文件名是nail.rc,难道是旧版的缘故? vi /etc/mail.rc 在文件最后加入以下内容.(关于这个配置文件,man是没有资料的,我也是参考网上别的教程,如果要具体研究,估计要

MVC发送邮件

<> 发送邮件报错说明 发送邮件 如果发送人的邮箱用户名与邮箱密码都没有填写错误:如果报:参数或变量中有语法错误. 服务器响应为:mail from address must be same as authorization user错误,问题可能出在authorization user  没授权.如果是QQ邮箱,那么只要进入QQ邮箱,QQ邮箱:设置---账户  找到POP3/IMAP/SMTP服务  都开启.这时候发现可以发送邮件了. 如果报:SMTP 服务器要求安全连接或客户端未通过身份验

使用JavaMail发送邮件和接受邮件

一. 为什么要学习JavaMail 为什么要学习JavaMail开发? 现在很多WEB应用在开发时都需要集成邮件发送功能,例如: 1. 给新注册的用户自动发送一封包含其注册信息的欢迎E-Mail. 2. 给过生日的注册会员自动发送一封表示祝贺的E-Mail. 3. 将网站的最新活动信息通过E-Mail发送给所有的注册会员. 二. 邮件服务器和协议 1. 邮件服务器: 要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器.例如现在Internet很多提供邮件服务的厂商:sina.so