2012-09-10 2 views
1

this website을 사용하여 이메일 서비스를 설정했지만 훌륭하게 작동하는 것 같지만 이메일 및 참조 2 개의 이메일 주소로 PDF를 추가하는 방법을 알 수 없습니다. C# 코드의pdf 첨부 파일과 cc 주소가있는 이메일

부분은 :

EmailServiceClient emailClient = new EmailServiceClient(); 
emailClient.SendEmailCompleted += 
    new EventHandler<SendEmailCompletedEventArgs>(emailClient_SendEmailCompleted); 
//MessageBox.Show(SelectedFeatureLayer.ID); 

if (SelectedFeatureLayer.ID == "AllAvailableFeatureLayer" || 
    SelectedFeatureLayer.ID == "AMAvailableLayer") { 
    if (msgToAM.Length != 0 & msgToAM != "Type email here" & 
     Regex.IsMatch(msgToAM, @"^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$")) { 
     //MessageBox.Show("create new message"); 

     SLEmailMessage AMemailMessage = new SLEmailMessage { 
      To = msgToAM, 
      From = "[email protected]", 
      Subject = "Thanks to Bike Count Volunteers", 
      Body = AMmsgBody 
     }; 

     emailClient.SendEmailAsync(AMemailMessage); 
    } 
} 
+2

내가 생각 하나'&' '&& '여야합니다. –

답변

0

그것은 내가 다음을 추가, 플러스 내 응용 프로그램을 게시하고 내 서비스 참조를 업데이트 할 필요가 있다고 밝혀 :

SLEmailMessage.cs :

[DataContract] 
public class SLEmailMessage 
{ 
    [DataMember] 
    public string To { get; set; } 

    [DataMember] 
    public string From { get; set; } 

    [DataMember] 
    public string Subject { get; set; } 

    [DataMember] 
    public string Body { get; set; } 

    [DataMember] 
    public string CC { get; set; } 

    [DataMember] 
    public string Bcc { get; set; } 

    [DataMember] 
    public string Attachment { get; set; } 

} 

EmailService.svc.cs :

[ServiceContract(Namespace = "")] 
[SilverlightFaultBehavior] 
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 
public class EmailService 
{ 
    [OperationContract] 
    public bool SendEmail(SLEmailMessage emailMessage) 
    { 
     bool IsEmailSendSuccessful = false; 

     try 
     { 
      MailMessage mailMessage = new MailMessage(emailMessage.From, emailMessage.To); 
      mailMessage.CC.Add(emailMessage.CC); 
      mailMessage.Bcc.Add(emailMessage.Bcc); 
      var pdfMessage = new Attachment(emailMessage.Attachment); 
      pdfMessage.ContentDisposition.FileName="BikeCountInfo.pdf"; 
      mailMessage.Attachments.Add(pdfMessage); 
      mailMessage.Subject = emailMessage.Subject; 
      mailMessage.Body = emailMessage.Body; 
      SmtpClient smtp = new SmtpClient(); 
      smtp.Send(mailMessage); 
      IsEmailSendSuccessful = true; 
     } 
     catch 
     { 
      IsEmailSendSuccessful = false; 

     } 

     return IsEmailSendSuccessful; 
    } 


    // Add more operations here and mark them with [OperationContract] 
} 

업데이트 서비스 및 게시 응용 프로그램 - 다음 추가

MainPage.xaml.cs를 :

  if (SelectedFeatureLayer.ID == "AllAvailableFeatureLayer" || SelectedFeatureLayer.ID == "PMAvailableLayer") 
     { 
      if (msgToPM.Length != 0 & Regex.IsMatch(msgToPM, @"^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$")) 
      { 
       SLEmailMessage PMemailMessage = new SLEmailMessage 
       { 
        To = msgToPM, 
        From = "[email protected]", 
        CC = "[email protected]", 
        Bcc = "[email protected]", 
        Attachment = "location of attachment", 
        Subject = "Thanks to Bike Count Volunteers", 
        Body = PMmsgBody 
       }; 
       emailClient.SendEmailAsync(PMemailMessage); 
      } 
관련 문제