2011-06-20 16 views
12

Kodumu çalıştırdığım, aynı makinede yüklü görünüm kullanarak postaların nasıl gönderileceğini biliyorum. Şimdi, buradaki gereksinim, asp.net koduna posta göndermek için kuruluşumun exchange sunucusuna (Microsoft OWA) erişmek.ASP.NET'te EXCHANGE SERVER (Microsoft Outlook Web Erişimi) (Microsoft Outlook Web Erişimi) kullanarak e-posta gönderin

Mümkün mü? Eğer evetse, o zaman plz biraz ışık atar.

Thnx

GÜNCELLEME

Çözüm var. Çalışma kodunu, yardım isteyen herhangi biri için buraya gönderiyorum. mutlu kodlama!

protected void Button1_Click(object sender, EventArgs e) 
{ 
    ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1); 
    //service.AutodiscoverUrl("[email protected]"); 

    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("[email protected]"); 
    message.Save(); 

    message.SendAndSaveCopy(); 

    Label1.Text = "Success !";  
} 

Başka Soru: Nasıl Microsoft Exchange 2003 kullanımı ?? 'coz EWS orada desteklenmiyor. Lütfen herhangi bir fikri güncelleyin ...?

+0

Ne demek istiyorsun? OWA sadece değişim sunucunuza erişmek için bir web sitesidir. Belki de sorunuz, e-postaları exchange kullanarak nasıl gönderebilirsiniz? –

+0

@ oskar - Soru düzenlendi. bildirmek için thnx.Evet Kodum aracılığıyla exchange sunucusuna erişmek istiyorum. Değişim sunucusunun adresi nasıl belirlenir? – Kings

+0

Lütfen güncellenmiş yanıtıma bakın. Umarım bu yardımcı olur. –

cevap

4

Exchange Web Hizmetleri API'sini (EWS) kullanarak e-posta gönderebilirsiniz. EWS, OWA ile aynı sunucuda barındırılan bir dizi eski moda ASMX web servisidir. Microsoft, EWS için bir açık kaynaklı yönetilen API sarıcı on GitHub yayınlamıştır. http://code.msdn.microsoft.com/Send-Email-with-Exchange-50189e57

GitHub beni oku da örneklerinin bağlantılarını içerir: Burada

EWS'de kullanarak e-postalar göndermek için nasıl bir örnektir.

Genellikle EWS http://yourexchangeserver/ews/exchange.asmx adresinde bulunabilir, ancak yönetilen API ile otomatik olarak Exchange sunucunuzdaki EWS adresini bulmak için autodiscovery kullanabilirsiniz. Exchange 2003 ile ilgili

Güncelleme:

WebDAV'ı kullanarak HTTP üzerinden Exchange 2003 posta mağaza erişebilirsiniz. WebDAV kullanmanız gereken bir acıdır, çünkü OWA yüklemenizin gerektirdiği Form Tabanlı Kimlik Doğrulaması (FBA) kullanmanız gerekebilir (EWS, Exchange 2007/2010'da OWA FBA kullanıyor olsa bile Windows kimlik doğrulamasını kullanabilir).

WebDAV for Exchange kullanarak posta göndermeyi hiç denemedim (WebDAV'ı bir dizi başka şey için kullanmış olsa da) ancak denemek isteyebileceğiniz bir example on MSDN buldum. Exchange 2003 OWA'nız FBA kullanacak şekilde ayarlanmışsa, Windows Kimlik Doğrulaması'nı kullanır. Eğer FBA kullanmanız gerekiyorsa bana bildirin - kullanabileceğiniz bir yere örnek kodunuz olabilir.

1

Organizasyonlarınız üzerinden mailleri asp.net'ten göndermek mümkündür, ancak OWA'yı kullanmak istemezsiniz.

Size bir örnek kod vermesi gereken .Net e-postası için ayrılmış bir web sitesi var. Bkz: http://www.systemnetmail.com/

SMTP portuna asp.net makine erişimi (bu genellikle Liman 25) döviz sunucusunda ve ileti geçişi sağlamak için izinler ayarlamak vermek için değişim yöneticisine almak gerektiğini anlayın sunucudan.

+0

thnx işareti. OWA kullanmak için neden gitmemem gerektiğini anlıyorum. Ama şu anki senaryomda, önce denemek istiyorum. Daha sonra diğer seçenekler için gidebilirim. System.Net.Mail <- bunu biliyorum, benim kodun çalıştığı aynı makinede kurulu (kullanıcı ile önceden yapılandırılmış) görünümünü kullanarak asp.net'e gönderilen postaları kullandım. – Kings

+0

System.Net.Mail, Asp.net makinesinde kurulması gereken bir bakış gerektirmez. @Jakob EWS'yi hiç duymamıştım. Bu oldukça kaygan –

İlgili konular