2012-02-15 4 views
3

기본 로그인 계정에서 전자 메일을 보내는 작업 양식이 있습니다. 사용자가 드롭 다운 목록에서 이메일 계정을 선택하고 [email protected] 또는 [email protected]과 같은 대체 주소를 통해 이메일을 보낼 수있는 기능을 추가하려고합니다. 나는 "SendUsingAccount"옵션을 사용하려고하는데 행운이 없다. 나는 온라인으로 보았지만 익숙하지 않은 VB를 사용하는 예제를 주로 찾습니다. 내 코드는 다음과 같습니다 :로그인 한 사용자와 다른 전자 메일 계정을 사용하여 C#으로 전자 메일을 보내는 방법

Microsoft.Office.Interop.Outlook.Application objOutlook = new Microsoft.Office.Interop.Outlook.Application(); 
var mic = (MailItem)(objOutlook.CreateItem(OlItemType.olMailItem)); 
Inspector oAddSig = null; 

mic.sendusingaccount = ??????????????  //here is where i need the help 
mic.Subject = "Announcing Participant Website Enhancements!"; 
mic.Importance = OlImportance.olImportanceHigh; 
mic.BodyFormat = OlBodyFormat.olFormatHTML; 
//mic.Attachments.Add(PDFAttachment + yearending.Text + ".pdf"); 
object emailBody = ToolBox.GetStringFromTextFile((string)EmailBody); 
oAddSig = mic.GetInspector; 
mic.HTMLBody = emailBody + mic.HTMLBody; 
//mic.Display(true); 
mic.Send(); 

답변

3

글쎄, 저는 항상 System.Net.Mail 네임 스페이스의 SMTP 클라이언트를 사용합니다. 그것은 당신이 메시지를 확인

'에서'누구의 주소를 제공 할 수있게 '보내기'라는 방법이 있습니다 http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx

을만큼 당신이 Exchange 서버의 주소를 알고를 (이 귀하의 예에서 Outlook을 사용하려고하기 때문에 OK 여야합니다.) 모든 것은 A-OK 여야합니다. 아마도 위의 접근 방식보다 약간 쉬울 것입니다.

+0

내가 smtp를 사용하고 싶지 않아 여러 응용 프로그램에서이 양식을 사용합니다. 나는 단지 보낸 사람 주소를 바꾸고 싶다. 어떻게 쉬운 물건이 가장 어려운 것입니까? ??? –

+0

검증 된 솔루션을 사용하지 않아서 어려움을 겪고 있습니다. SMTP 클라이언트를 사용할 수없는 이유가 있습니까? –

+0

은 smtp 설정이 확실하지 않거나 구성되어 있어도 알 수 없습니다. 나는 심지어 당신에게 smtp 서버 주소를 말할 수 없었다. –

2

당신은 당신이 DD와 asign sendusingaccount의 값을 가진 문자열을 만들 수있는 드롭 다운 = 당신의 문자열이 있으면 나는이 도움말을 희망

Microsoft.Office.Interop.Outlook.Application objOutlook = new  Microsoft.Office.Interop.Outlook.Application(); 
    string email = yourdropdown.selectedvalue; 
    var mic = (MailItem)(objOutlook.CreateItem(OlItemType.olMailItem)); 
    Inspector oAddSig = null; 
    mic.sendusingaccount = email 

당신은

+0

이것이 제가 선호하는 방법이지만 오류가 생깁니다 .. 지금 당장 작업하고 있습니다. 그 sendusingaccount를 찾지 못하거나 "문자열 전자 메일"을 "계정 전자 메일"로 변환하려는 경우 문자열에서 계정 유형으로 변환되지 않습니다. –

1
Outlook.Account account = 
    Application.Session.Accounts["Hotmail"]; 
mic.SendUsingAccount = account; 

당신은 확인할 수 수 있음 세션의 다른 계정 ...

확인할 수 있습니다 : MSDN

관련 문제