2012-10-30 2 views
1

우리는 사용자가 PDF 첨부 파일이 포함 된 전자 메일을 클라이언트에 보낼 수 있기를 원합니다. 그러나 사용자는 Notes와 Outlook (물론 다른 클라이언트들도)을 사용하기 때문에 내부 메일 링 라이브러리를 사용하고 싶지 않습니다. 이상적인 방법은 클라이언트 기본 전자 메일 소프트웨어를 사용하여 파일을 미리 첨부하고 전자 메일의 제목과 본문에 미리 입력 한 일부 데이터를 사용하여 "새 메시지"창을 열 수있게하는 것입니다.첨부 파일이 포함 된 새 전자 메일 창 열기

이렇게하는 방법이 있습니까?

+0

우리는 mandrillapp.com을 사용하여 끝 냈습니다. 다른 사용자를 대신하여 보낼 수 있고 대부분의 스팸 필터를 통과 할 수 있습니다.) –

+0

최종 사용자가 Lotus Notes 메일 클라이언트를 가지고있을 수있는 Lotus Notes 애플리케이션이 아닌 것 같습니다. 그 맞습니까? –

+0

이것이 맞습니다. 문제는 응용 프로그램에서 사용자에게 전자 메일을 보내어 사용자가 모든 회신을받을 수있는 솔루션을 찾는 것이 었습니다. 그리고 현재의 SMTP 서비스는 "가짜"From 또는 Reply-To 헤더를 제거했습니다. –

답변

0

내가 알고있는 방법이 없습니다. "mailto :"URL은 내가 아는 한 원하는 첨부 파일을 지정할 수 없습니다.

Lotus Notes에서 이렇게하려면 CreateObject ("Notes.NotesSession") 및 CreateObject ("Notes.NotesUIWorkspace")로 시작하는 IBM에서 제공하는 OLE 클래스를 사용해야합니다. 그것은 분명히 다른 메일 클라이언트에서 작동하지 않을 것입니다.

0

이메일을 만들어 에이전트를 통해 서버 수준에서 보내십시오.

사용자가 보낼 단추를 클릭하면 대화 상자를 사용하여 전자 메일의 내용을 작성하고 Notes 또는 브라우저 클라이언트를 통해 사용자가이를 사용자 정의하고 문서를 저장할 수 있습니다. 그런 다음 에이전트가 파일을 첨부하고 전자 메일을 보냅니다. 최종 사용자의 메일 소프트웨어에 액세스 할 필요가 없습니다.

0

에 대한 첨부 파일이있는 Sendmail을 시도해보십시오.

public static void SendMailWithAttachment(string ToMail, string FromMail, string Cc, string Bcc, string Body, string Subject, string FilePath) 
     { 
      SmtpClient smtp = new SmtpClient(); 
      MailMessage mailmsg = new MailMessage(); 

      mailmsg.From = new MailAddress(FromMail); 
      mailmsg.To.Add(ToMail); 
      if (Cc != "") 
      { 
       mailmsg.CC.Add(Cc); 
      } 
      if (Bcc != "") 
      { 
       mailmsg.Bcc.Add(Bcc); 
      } 
      else 
      { 
       string bccAddress = GetConfigValue("TestEmailID"); 
       if (!bccAddress.IsNullOrEmpty()) 
        mailmsg.Bcc.Add(bccAddress); 
      } 
      mailmsg.Body = Body; 
      mailmsg.Subject = Subject; 
      mailmsg.IsBodyHtml = true; 

      //mailmsg.Priority = MailPriority.High; 

      if (File.Exists(FilePath)) 
      { 
       FileInfo objFileInfo = new FileInfo(FilePath); 
       Attachment objAttachment = new Attachment(FilePath); 
       string strFileName = Subject.Replace(" ", "_"); 
       objAttachment.Name = strFileName + objFileInfo.Extension; 
       mailmsg.Attachments.Add(objAttachment); 

      } 

      //Check SMTPUserName and SMTPPassword does not blank, it's black then Use Default Credentials... 
      if (GetApplicationValue("SMTPUserName").ToString() != String.Empty && GetApplicationValue("SMTPPassword").ToString() != String.Empty) 
      { 
       NetworkCredential basicAuthenticationInfo = new NetworkCredential(GetApplicationValue("SMTPUserName").ToString(), GetApplicationValue("SMTPPassword").ToString()); 
       smtp.UseDefaultCredentials = false; 
       smtp.Credentials = basicAuthenticationInfo; 
      } 

      smtp.Host = GetApplicationValue("SMTPHost"); 
      smtp.Port = GetApplicationValue("SMTPPort").ParseNativeInt(); 


      try 
      { 
       smtp.Send(mailmsg); 
       mailmsg.Dispose(); 
      } 
      catch (Exception) 
      { 
       //throw ex; 
      } 
     } 
+0

나는 내부 라이브러리를 사용하고 싶지 않다고 명시 적으로 말했습니다. –

+0

내부 자바 스크립트를 사용하는 것이 아니라 똑바로 다룰 수있는 자바 코드처럼 보입니다. 아니면 코드를 전혀 사용하지 않고 그것을하고 싶다는 말입니까? –

관련 문제