标签: exchange-server

Exchange Web服务:为什么ItemId不是常量?

我编写了一个小应用程序,它应该自动处理来自公用文件夹的电子邮件.对于每封电子邮件,我们希望在数据库中保存一些元数据.

我想使用ItemID来建立此元数据和特定电子邮件之间的链接,我刚刚发现此ItemId不是常量.例如,如果电子邮件从公用文件夹移动到另一个文件夹,它将收到另一个ItemId.这意味着,电子邮件和相关元数据之间的链接将丢失.

所以,问题是,如何在元数据和特定电子邮件之间建立链接?

c# exchange-server exchangewebservices

12
推荐指数
2
解决办法
1万
查看次数

Javamail NTLM身份验证失败

尝试在JavaMail中使用NTLM连接到Exchange服务器.我可以连接到SMTP,但不能连接到IMAP.我还可以使用相同的主机/用户名/密码,帐户类型="IMAP",端口143,ssl = false,身份验证= NTLM,域名=""通过OS X Mail.app应用程序进行身份验证.

连接代码:

import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.Store;
import java.util.Properties;

    public class NTLMTest {
        public static void main(String[] args) throws Exception {
            final String host = "example.com";
            final String user = "bob";
            final String password = "password";

            final Properties properties = new Properties();
            Session session = Session.getDefaultInstance(properties);
            session.setDebug(true);

            // SMTP CONNECT
            final Transport transport = session.getTransport("smtp");
            transport.connect(host, user, password);
            System.out.println("SMTP Connect successful");

            // IMAP CONNECT
            final Store store = session.getStore("imap");
            store.connect(host, user, password);
            System.out.println("IMAP Connect …
Run Code Online (Sandbox Code Playgroud)

java exchange-server ntlm jakarta-mail

12
推荐指数
1
解决办法
3万
查看次数

如何使用C#与Exchange Server进行交互?

我们的电子邮件服务器上有点麻烦,权限在我们的用户电子邮件文件夹中失败了.

不幸的是,我们的用户都在Outlook Web Access上,并且无权更改其电子邮件文件夹的权限.

我的任务是公开更改Exchange电子邮件文件夹权限的功能.我的计划是以某种方式与Exchange交互并将相关信息放在ASP.Net网页中.

我看到有一个Exchange Web服务DLL但是我不确定我们的安装是否启用了它.还有另一种与Exchange通信的方式吗?最好使用C#?如果关闭Web服务是否容易打开?如何检查它是否打开?

问候,

编辑:我尝试通过EWS连接,但我得到Error 102 (net::ERR_CONNECTION_REFUSED): Unknown error.这可能是因为我没有权限或服务没有打开.我要调查一下.谢谢你的建议.

好吧,看起来我有错误的URI.我现在得到一个"Exchange Server不支持所请求的版本." (我只是想发送测试电子邮件)

c# api exchange-server

12
推荐指数
1
解决办法
2万
查看次数

从php执行Powershell脚本

我正在尝试从PHP执行powershell脚本,但它似乎不起作用.

脚本'newEvent.ps1'在Exchange服务器上创建一个事件.

$psPath = "powershell.exe";
$psDIR = "C:\\wamp\\www\\ant\\assets\\ps\\";
$psScript = "newEvent.ps1";
$runScript = $psDIR. $psScript;
$runCMD = $psPath." ".$runScript." 2>&1"; 

echo "\$psPath  $psPath <br>";
echo "\$psDIR  $psDIR <br>";
echo "\$psScript  $psScript <br>";
echo "\$runScript  $runScript <br>";
echo "\$runCMD   $runCMD  <br>";

exec( $runCMD,$out,$ret);

echo "<pre>";
print_r($out);
print_r($ret);
echo "</pre>";
Run Code Online (Sandbox Code Playgroud)

它输出:

$psPath powershell.exe
$psDIR C:\wamp\www\ant\assets\ps\
$psScript newEvent.ps1
$runScript C:\wamp\www\ant\assets\ps\newEvent.ps1
$runCMD powershell.exe C:\wamp\www\ant\assets\ps\newEvent.ps1 2>&1

Array
(
    [0] => File C:\wamp\www\ant\assets\ps\newEvent.ps1 cannot be loaded because the execut
    [1] => ion of scripts is disabled …
Run Code Online (Sandbox Code Playgroud)

php powershell exchange-server shell-exec

12
推荐指数
1
解决办法
5万
查看次数

在asp.net中使用EXCHANGE SERVER(Microsoft Outlook Web访问)发送邮件

我知道如何使用安装在同一台机器上的outlook发送邮件,我正在运行我的代码.现在,这里的要求是访问我的组织的Exchange服务器(Microsoft OWA),以便在asp.net代码中发送邮件.

可能吗?如果是,那么请扔掉一些光.

日Thnx

UPDATE

得到了解决方案.在这里为任何想要帮助的人发布我的工作代码.快乐的编码!

protected void Button1_Click(object sender, EventArgs e)
{
     ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
    //service.AutodiscoverUrl("youremailaddress@yourdomain.com");

    service.Url = new Uri("https://yourwebmailaddress.com/ews/Exchange.asmx");

    service.UseDefaultCredentials = true;
    //service.Credentials = new WebCredentials("username", "password");


    EmailMessage message = new EmailMessage(service);
    message.Subject = "My auto mail from exchange server";
    message.Body = "hi everyone !";
    message.ToRecipients.Add("brad.pitt@hollywood.com");
    message.Save();

    message.SendAndSaveCopy();

    Label1.Text = "Success !";    
}
Run Code Online (Sandbox Code Playgroud)

另一个问题:如何使用microsoft exchange 2003?那里不支持coz EWS.请更新任何想法......?

c# asp.net exchange-server exchangewebservices

12
推荐指数
1
解决办法
4万
查看次数

从代码发送电子邮件时,"5.7.1客户端没有权限"错误

所以我有这个非常基本的程序,试图发送电子邮件,但我一直在

信箱不可用.服务器响应为:5.7.1客户端无权作为此发件人发送

这是我的计划

static void Main(string[] args)
{
    SmtpClient client = new SmtpClient("Server", 25);
    client.UseDefaultCredentials = false;
    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    client.Credentials = new NetworkCredential("UserName", "Password");
    client.Send(new MailMessage("kevin@hopethisworks.com","Recipient"));
}
Run Code Online (Sandbox Code Playgroud)

我知道凭据有效,如果我使用相同的数据运行SMTP Test Tool 3.0一切都很好.

在此输入图像描述

以下是在Exchange服务器上为我的IP设置的接收连接器的一些屏幕截图

在此输入图像描述

在此输入图像描述

任何人都有任何想法会在我的代码中导致此错误,但不是在简单的SMTP测试工具中?我在某处遗漏了某种身份验证选项吗?我有四重检查所有信息在两个地方都是正确和相同的,它在工具中工作,但在代码中不起作用.

c# email exchange-server exchange-server-2010

12
推荐指数
1
解决办法
6万
查看次数

无法加载Exchange PowerShell管理单元:"Microsoft.Exchange.Data.Directory.Globals"的类型初始值设定项引发异常

我有以下代码,用于在加载Exchange 2010快照时创建PowerShell运行空间.

Dim runspaceConfig = RunspaceConfiguration.Create()

Dim snapInException As PSSnapInException = Nothing
runspaceConfig.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.E2010", snapInException)

Dim runspace = RunspaceFactory.CreateRunspace(runspaceConfig)
runspace.Open()
Run Code Online (Sandbox Code Playgroud)

自安装Visual Studio 2012后,我在执行将管理单元添加到runspace配置的行时开始出现以下错误.

System.Management.Automation.Runspaces.PSSnapInException occurred
  HResult=-2146233087
  Message=Cannot load Windows PowerShell snap-in Microsoft.Exchange.Management.PowerShell.E2010 because of the following error: The type initializer for 'Microsoft.Exchange.Data.Directory.Globals' threw an exception.
  Source=System.Management.Automation
  WasThrownFromThrowStatement=False
  StackTrace:
       at System.Management.Automation.Runspaces.RunspaceConfigForSingleShell.LoadCustomPSSnapIn(PSSnapInInfo mshsnapinInfo)
       at System.Management.Automation.Runspaces.RunspaceConfigForSingleShell.LoadPSSnapIn(PSSnapInInfo mshsnapinInfo)
       at System.Management.Automation.Runspaces.RunspaceConfigForSingleShell.LoadPSSnapIn(PSSnapInInfo mshsnapinInfo, PSSnapInException& warning)
       at System.Management.Automation.Runspaces.RunspaceConfigForSingleShell.DoAddPSSnapIn(String name, PSSnapInException& warning)
       at System.Management.Automation.Runspaces.RunspaceConfiguration.AddPSSnapIn(String name, PSSnapInException& warning)
Run Code Online (Sandbox Code Playgroud)

我已经能够确认nlog在某种程度上导致了这个问题.在创建powershell运行空间之前创建nlog记录器的组合会导致错误.

如果我从我的应用程序配置中删除nlog配置部分并只创建一个空的nlog记录器,则加载管理单元时没有错误.此外,如果我将nlog配置保留在我的应用程序配置中但不创建nlog记录器,则该管理单元也会成功加载.

  • 我尝试在x64和x86中构建项目.
  • 我已经重新安装了交换管理工具.
  • 我已尝试在交换环境中的另一台机器上进行测试.

如果有人能提供任何可以帮我解决这个问题的建议,我会很高兴.

谢谢

.net powershell exchange-server nlog exchange-server-2010

12
推荐指数
1
解决办法
1万
查看次数

我是否可以避免存储MS Exchange凭据,同时仍能进行身份验证(针对EWS)?

我正在构建一个应用程序,用于同步用户的Exchange Server帐户(支持的版本2007-2013)和应用程序之间的数据.

应用程序不能使用模拟(至少不在典型情况下),因为用户可以在任意数量的域和交换服务器上.

我知道我最初不得不要求他们的用户名/电子邮件地址和密码.但是,如果我不需要,我真的不想负责存储这些凭据(即使它们是加密的,我宁愿不加密).

我不确定要问什么问题,所以我要跟这些:

Exchange Server如何进行身份验证?用户的凭据是否按原样直接发送到服务器,还是在通过网络发送之前进行了哈希处理?如果它们被散列,我如何获得/生成此哈希以便在连续的身份验证中重用?

Exchange Server是否发送某种可以在以后重复使用的身份验证令牌(永远,直到密码更改或失效)?

如果您知道该问题的解决方案,这些问题的答案无法解决,请改为提供.

c# exchange-server exchangewebservices

12
推荐指数
2
解决办法
1908
查看次数

为什么smtpclient发送的电子邮件不会出现在已发送的项目中

我已经实现了一个通过.Net SmtpClient发送电子邮件的服务器.邮件发送代码如下:

private static MailMessage SendMail(string to, string subject, string body)
{
 MailMessage mailToSend = new MailMessage();
 mailToSend.Body = body;
 mailToSend.Subject = subject;
 mailToSend.IsBodyHtml = true;
 mailToSend.To.Add(to);
 try
 {
  mailClient.Send(mailToSend);
 }
 catch (Exception ex)
 {
  //Log data...
 }
 mailToSend.Dispose();
}
Run Code Online (Sandbox Code Playgroud)

在Web.config我已经把邮件的凭据,像这样:

<configuration>
  <system.net>
    <mailSettings>
      <smtp from="autoemail@mailserver.org">
        <network host="smtp.mailserver.org" password="pswdpswd" port="25" userName="autoemail" clientDomain="the-domain" enableSsl="true" />
      </smtp>
    </mailSettings>
  </system.net>
</configuration>
Run Code Online (Sandbox Code Playgroud)

电子邮件成功发送,一切正常,但当我登录交换服务器中的电子邮件用户时(例如通过Outlook Web-App)我看不到通过SmtpClient发送的邮件(通过代码)发送的项目夹.

如何在此文件夹中保留已发送邮件的副本?谢谢!

.net c# email exchange-server smtpclient

12
推荐指数
1
解决办法
1万
查看次数

Exchange Web服务托管API:访问其他用户项

是否可以访问除登录用户之外的其他Exchange帐户的文件夹和项目?

我可以通过Exchange Web服务托管API执行此操作吗?

c# exchange-server web-services exchangewebservices ews-managed-api

11
推荐指数
2
解决办法
9629
查看次数