.net中调用exchange服务器发邮件

普通的邮件, 用System.Net.Mail 类 或 System.Web.Mail 类 处理即可, 但是Exchange Server 环境下, 这两个类起不了作用-------至少目前我看到的情况如此.

整个过程如下:

1. 先添加COM 引用 "Microsoft CDO for Windows 2000 Library" .
2. 发送邮件的代码:

CDO.Message msg = new CDO.Message();

        
string passWord="passWord";

        
string from = "my@domain.com";

        
string server = "192.168.0.0";


         msg.From 
= from;
         msg.To 
= from;
         msg.Subject 
= "test mail";
         msg.TextBody 
= "test.";

 

         CDO.IConfiguration iConfig 
= msg.Configuration;

         ADODB.Fields fields 
= iConfig.Fields;

 

         fields[
"http://schemas.microsoft.com/cdo/configuration/sendusing"].Value = 2;

         fields[
"http://schemas.microsoft.com/cdo/configuration/sendemailaddress"].Value = from;

         fields[
"http://schemas.microsoft.com/cdo/configuration/sendpassword"].Value = passWord;

         fields[
"http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"].Value = 1;

         fields[
"http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value = server;

 

         fields.Update();

 

        
try

        
{

             msg.Send();

             msg 
= null;

         }


        
catch (Exception ex)

        
{

            
throw;

         }


 

其中, fields的这五个属性是它所有可选属性的最紧的一个子集, 即,这五个属性是缺一不可的, 其它的属性还有:
http://schemas.microsoft.com/cdo/configuration/smtpaccountname

http://schemas.microsoft.com/cdo/configuration/smtpuserreplyemailaddress

http://schemas.microsoft.com/cdo/configuration/sendusername

等.

 

奇怪的是, msg 本身也有fields 属性, 或者如同程序中引用的: msg.Configuration.Fields, 但是如果不用上述程序中的方法, 而是直接引用 msg的Fields 或 msg.Configuration.Fields 属性, 则不能成功发送邮件, (没有错误或异常, 但是收不到邮件) 为什么会这样, 有点费解.

fields 的smtpauthenticate 属性的取值也是挺有意思的, 当它取0时, 代表无需验证, 1代表基本的验证, 2是NTLM验证, 可是我在Outlook里把验证方式设为NTLM, 而在这里把值取为1, 一样能够发送成功, 呵呵, 看来一般情况下取1 都是可以的了.

sendUsing 取2 的意思是, 强制通过smtpServer 属性指定的server 发送邮件, 所以只要server属性设置好, sendUsing取2 基本就是通用值了.

server属性设为exchange server 的IP 地址即可.

转载于:https://www.cnblogs.com/ayforver/archive/2012/04/11/2442538.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/379831.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

端口复用和重映射--STM32F103

什么是端口复用? STM32中有很多内置外设,这些外设的引脚都是与GPIO复用的,什么时候复用呢?就是当一个GPIO作为内置外设引脚使用时,就叫做复用。比如串口1的发送接收引脚是PA9,PA10,当PA9&#…

[转]Ubuntu远程桌面登陆

原文地址:http://www.cnblogs.com/xdzone/archive/2011/03/10/1979644.html 1.xp下默认的远程桌面协议是rdp,默认端口3389,而ubuntu用的时vnc:默认端口5900 2.首先被访问的主机(windows/linux)都要设置为允…

NVIC中断管理---STM32

NVIC:嵌套向量中断控制器 在了解中断之前,我们先了解抢占优先级和响应优先级 抢占优先级和响应优先级 抢占优先级决定能不能打断,高优先级的抢占可以中断低优先级的抢占响应优先级在抢占优先级相同时,高响应优先级先执行&#x…

外部中断---STM32F1

外部中断概述 STM32的中断控制器支持19个外部中断/事件请求: 线0-15:对应外部IO口的输入中断线16:连接到PVD输出线17:连接到RTC闹钟事件线18:连接到USB唤醒事件 STM32每个IO口都有可以作为外部中断输入,…

转:点9图

关于”点九” 转:http://mux.baidu.com/?p1506“点九”是andriod平台的应用软件开发里的一种特殊的图片形式,文件扩展名为:.9.png 智能手机中有自动横屏的功能,同一幅界面会在随着手机(或平板电脑)中的方向传感器的参数不同而改变显示的方向…

串口通信的基本原理----STM32

串口通信基本原理 1. 处理器与外部设置通信的基本方式 并行通信:数据各个位同时传输串行通信:数据按位顺序传输 在串行通信中,按照数据的传输方向,又分为: 单工:数据传输只支持在一个方向传输半双工&am…

Spring MVC+Ant+Tomcat+Eclipse最简单的demo

第一步是Java的Web环境搭建,下载Eclipse(或者更好的但收费的IDE-IntelliJ Idea,和Resharper一家公司出的),下载Tomcat,下载JDK,下载Spring,注意安装Tomcat的时候配置一下管理员账号和…

MySQL的环境变量配置详细步骤

1.下载MySQL 例如下载:mysql-installer-community-5.5.60.1 我以这个版本为例 2.右击->我的电脑->属性 3. 4.找到在 系统变量 中找到 Path 5.找MySql的bin目录(每个人的电脑上这个文件的位置应该是差不多的,找到之后复制下来&#x…

串口发送通信---UART发送---STM32F4实现

串口发送程序配置过程(HAL库) 初始化串口相关参数,使能串口 HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)该函数的参数是串口的基址,在stm32f429xx.h文件中,定义了8个UART_HandleTypeDef的值&#x…

开源软件 许可证密钥_自由和开源软件-1中的重要许可证

开源软件 许可证密钥Its important to take note that there are no good or bad licenses and that no license is superior to another. Anybody can make an open-source license that suits their extravagant, which is the explanation that there are such huge numbers…

串口接收中断配置过程---STM32F4--HAL

串口接收中断程序配置过程(HAL) 初始化相关参数,使能串口: HAL_UART_Init();该函数的参数是串口的基址,在stm32f429xx.h文件中,定义了8个UART_HandleTypeDef的值,分别是USART1、USART2、USART…

定时器--STM32f4--HAL

基本概念 STM32中有三种定时器,高级定时器,通用定时器,基本定时器,具体如下图: 发生如下事件将产生中断/DMA 更新:计数器向上溢出/向下溢出,计数器初始化触发事件:计数器启动、停…

独立看门狗---STM32----HAL

基本概念 看门狗解决的问题是什么? 在系统跑飞(程序异常执行)的情况,是系统复位,程序重新执行。 独立看门狗适应用于需要看门狗作为一个在主程序之外能够完全独立工作,并且对时间精度要求低的场合。 工…

IIC通信---EEPROM24C02---STMF4

IIC通信协议 IIC是同步半双工通信,一个数据线SDA和一个时钟SCL线,可以接受和发送数据。在CPU与被控IC之间、IC与IC之间进行双向传送。 空闲状态 IIC总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。 起始信号 当SCL为高…

JavaScript | 使用提示从用户输入值

Example 1) Input name and print 示例1)输入名称和打印 Code (JS & HTML): 代码(JS和HTML)&#xff1a; <!DOCTYPE html><HTML><HEAD><SCRIPT>var name prompt("Enter Your name:");var msg "Welcome "name;//alert(msg)…

项目管理中工作分解结构模型(WBSM)的应用

摘要 本文根据工作分解结构(WBS)的工作特点&#xff0c;运用系统工程的思想理论方法&#xff0c;构建了工作分解结构模型&#xff0c;并提出了模型算法;该模型方法的建立使得WBS工作更加简单可靠、思路清晰、基于更加可靠的科学基础之上。 1、工作分解结构模型(WBSM)方法工作程…

SPI通信原理---STM32F4--HAL

SPI接口原理 SPI是一种高速全双工同步通信&#xff0c;在芯片管脚上占用四根线&#xff0c;主要应用在EEPROM、FLASH、实时时钟、AD转换器&#xff0c;还有数字信号处理器和数字信号解码器之间。 SPI接口使用4根线通信。 MISO&#xff1a;主设备数据输入&#xff0c;从设备数…

pata1015_ATA / PATA的完整形式是什么?

pata1015ATA / PATA&#xff1a;高级技术附件/并行高级技术附件 (ATA/PATA: Advanced Technology Attachment/Parallel Advanced Technology Attachment) ATA is an abbreviation of Advanced Technology Attachment. ATA has existed for a long time with the name PATA. Whe…

FreeRTOS在STM32F429上移植

准备工作 FreeRTOS系统源码基础工程&#xff0c;这里我们用跑马灯实验 1.在工程里面添加FreeRTOS源码 在工程里面新建一个名为FreeROTS的文件夹 将FreeRTOS源码添加到这个文件夹里面 protable里面只需留下Keil、MemMang、RVDS文件夹 2、向工程分组中添加文件 FreeRTOS_C…

C++中的指针与引用(转)

原文地址&#xff1a;http://www.cnblogs.com/skynet/archive/2010/09/22/1832911.html写在前面 指针和引用形式上很好区别&#xff0c;但是他们似乎有相同的功能,都能够直接引用对象&#xff0c;对其进行直接的操作。但是什么时候使用指针&#xff1f;什么时候使用引用呢&…