exchange web service:通过EWS访问Exchange收件箱

namespace ConsoleApplication1_0616
{
    class Program
    {
        static void Main(string[] args)
        {
            new Program().start();
        }
        public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
        {
            return true;
        }

        void start()
        {
            ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);

            // Identify the service binding and the user.
            ExchangeServiceBinding service = new ExchangeServiceBinding();

            service.RequestServerVersionValue = new RequestServerVersion();
            service.RequestServerVersionValue.Version = ExchangeVersionType.Exchange2010;
            service.Credentials = new NetworkCredential("xxxxx", "p@ssw0rd", "xxxx.local");
            service.Url = @"https://192.168.0.33/EWS/Exchange.asmx";

            FindItemType request = new FindItemType();
            request.ItemShape = new ItemResponseShapeType();
            request.ItemShape.BaseShape = DefaultShapeNamesType.AllProperties;
            DistinguishedFolderIdType folder = new DistinguishedFolderIdType();
            folder.Id = DistinguishedFolderIdNameType.inbox;

            request.ParentFolderIds = new BaseFolderIdType[] { folder };
            request.Traversal = ItemQueryTraversalType.Shallow;

            FindItemResponseType response = service.FindItem(request);
            FindItemResponseMessageType responseMessage =
                response.ResponseMessages.Items[0] as FindItemResponseMessageType;

            ItemType[] messages = (responseMessage.RootFolder.Item as ArrayOfRealItemsType).Items;
            foreach (ItemType it in messages) {

                Console.WriteLine(it.Subject);
            }
        }

    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用JavaMail API和Exchange Web Services API收取Exchange 2019版本的收件箱邮件的示例代码,需要导入的pom.xml文件如下: ```xml <!-- JavaMail API --> <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.6.2</version> </dependency> <!-- Exchange Web Services API --> <dependency> <groupId>com.microsoft.ews-java-api</groupId> <artifactId>ews-java-api</artifactId> <version>2.0</version> </dependency> ``` ```java import java.net.URI; import java.util.Properties; import javax.mail.Folder; import javax.mail.Session; import javax.mail.Store; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import microsoft.exchange.webservices.data.core.ExchangeService; import microsoft.exchange.webservices.data.core.PropertySet; import microsoft.exchange.webservices.data.core.enumeration.property.BasePropertySet; import microsoft.exchange.webservices.data.core.enumeration.property.WellKnownFolderName; import microsoft.exchange.webservices.data.core.exception.service.local.ServiceLocalException; import microsoft.exchange.webservices.data.core.service.item.EmailMessage; import microsoft.exchange.webservices.data.search.FindItemsResults; import microsoft.exchange.webservices.data.search.ItemView; public class ExchangeEmailDemo { public static void main(String[] args) throws Exception { String username = "your-email-address"; String password = "your-password"; String server = "https://your-exchange-server/EWS/Exchange.asmx"; Properties properties = new Properties(); properties.setProperty("mail.store.protocol", "imap"); properties.setProperty("mail.imap.host", server); Session session = Session.getDefaultInstance(properties); Store store = session.getStore(); store.connect(username, password); Folder inbox = store.getFolder("INBOX"); inbox.open(Folder.READ_ONLY); MimeMessage[] messages = (MimeMessage[]) inbox.getMessages(); for (MimeMessage message : messages) { System.out.println("Subject: " + message.getSubject()); System.out.println("From: " + ((InternetAddress) message.getFrom()[0]).getAddress()); System.out.println("Body: " + message.getContent()); } inbox.close(false); store.close(); } } ``` 注意:需要将代码中的 `your-email-address`、`your-password` 和 `your-exchange-server` 替换为你自己的邮箱地址、密码和Exchange服务器地址。同时,需要根据实际情况修改代码中的收件箱名称、收件数量等参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值