【问题标题】:Sending Mail from .NET C# using activesync使用 activesync 从 .NET C# 发送邮件
【发布时间】:2014-06-17 15:50:41
【问题描述】:

我在 C# 代码(也不是其他语言和平台)中找不到任何带有发送邮件实现的示例。我设法找到并 dl code example 执行配置和文件夹同步任务,但找不到发送邮件示例。

这一切都来自 MSDN:http://msdn.microsoft.com/en-us/library/ee202897(v=exchg.80).aspx

BR, JDK

【问题讨论】:

  • 因为您需要将电子邮件作为后台进程发送正确吗?
  • 你的背景是什么? ActiveSync 用于在服务器和移动应用程序之间进行同步。我猜您正在寻找 EWS 托管 API。 msdn.microsoft.com/en-us/library/office/…
  • 实际上我需要为客户端应用程序编写代码,在我的情况下是 ASP.NET 网页(Azure 网站),但现在正在开发控制台演示应用程序,只是为了测试。我不需要 EWS 托管 API,因为 Exchange 服务器隐藏在代理(公司)后面,并且无法从 azure 访问。因此,从我的角度来看,我的客户端可以向用户发送邮件(邮件将作为身份验证过程的一部分发送)的唯一方法是使用 ActiveSync...

标签: c# .net exchange-server activesync


【解决方案1】:

您可以考虑 Microsoft.Exchange.WebServices.dll。抱歉,下面的示例有点粗糙,因为它是我使用的更大类的缩减版。

VB.NET:

Imports Microsoft.Exchange.WebServices.Data
    Public Class Exchange

             Public Sub SendEmail(fromEmailAddress As String, toEmailAddress As String, body As String, subject As String)

         Dim exService = New ExchangeService(serverVersion)
            exService.AutodiscoverUrl(fromEmailAddress)


            Dim msg As New EmailMessage(exService)
            msg.Subject = subject

            msg.Body = body

         msg.ToRecipients.Add(New Microsoft.Exchange.WebServices.Data.EmailAddress(toEmailAddress,toEmailAddress))

            msg.SendAndSaveCopy()

    End Sub
End Class

C#

    using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using Microsoft.Exchange.WebServices.Data;

public class Exchange
{

    public void SendEmail(string fromEmailAddress, string toEmailAddress, string body, string subject)
    {

        dynamic exService = new ExchangeService(serverVersion);
        exService.AutodiscoverUrl(fromEmailAddress);


        EmailMessage msg = new EmailMessage(exService);
        msg.Subject = subject;

        msg.Body = body;

        msg.ToRecipients.Add(new Microsoft.Exchange.WebServices.Data.EmailAddress(toEmailAddress, toEmailAddress));

        msg.SendAndSaveCopy();

    }
}

【讨论】:

  • 感谢重播,正如我在上面的 cmets 中所说,我不能使用交换 Web 服务,因为公司服务器位于代理后面,并且有许多安全规则......不确定交换是如何暴露在互联网上的。 ..我几天前尝试过 EWS 并且肯定不是手动而不是自动发现服务无法通过互联网工作..仅来自 vpn,但我的客户在 azure 网站上...
猜你喜欢
  • 2016-01-17
  • 2011-03-12
  • 1970-01-01
  • 2015-05-28
  • 2011-12-03
  • 1970-01-01
  • 2011-02-05
  • 1970-01-01
  • 2012-08-21
相关资源
最近更新 更多