2017-12-14 12 views
1

배치 작업 "CLR 오브젝트를 만들 수 없습니다"를 통해 이메일을 보내는 동안 오류가 발생했습니다. 첨부 파일이 없으면 코드가 제대로 작동합니다. 첨부 파일이있는 파일 및 디렉토리에 대한 사용 권한은 정상입니다. "메일 첨부 파일 = 새로운 System.Net.Mail.Attachment (파일 이름);"AX 2009의 배치 작업 생성 이메일에 첨부 파일을 추가하는 중 오류가 발생했습니다.

permissionSet = new Set(Types::Class); 
permissionSet.add(new InteropPermission(InteropKind::ClrInterop)); 
permissionSet.add(new FileIOPermission(_filename, 'rw')); 
CodeAccessPermission::assertMultiple(permissionSet); 

smtpClient = new System.Net.Mail.SmtpClient(); 
smtpClient.set_Port(25); 
smtpClient.set_DeliveryMethod(System.Net.Mail.SmtpDeliveryMethod::Network); 
smtpClient.set_UseDefaultCredentials(true); 
smtpClient.set_Host('smtp-out.adista.fr'); 

mail = new System.Net.Mail.MailMessage(sendFrom,sendTo); 
mail.set_Subject(subject); 
mail.set_IsBodyHtml(true); 
mail.set_Body(emailBody); 

mailAttachementCollection = mail.get_Attachments(); 
mailAttachment   = new System.Net.Mail.Attachment(filename); 
mailAttachementCollection.Add(mailAttachment); 

smtpClient.Send(mail); 
CodeAccessPermission::revertAssert(); 

내가 디버깅과 오류가 온다 : 여기

내 코드입니다 선. 경로 코딩 오류가 있습니까? '\ network \ directory \ file.csv'및 @path와 같은 UNC 경로를 사용하여 하드 코딩 경로와 파일 이름을 같은 오류로 사용했습니다. sysmailer 클래스를 사용해 보았습니다. 첨부 파일을 추가하는 동안 오류가 발생했습니다. 아이디어가 있으십니까? 도움

관련하여 주셔서 감사합니다,

+0

자세한 내용을 보려면 예외 정보를 인쇄 해보십시오. [here] (https://msdn.microsoft.com/en-us/library/aa656495(v= ax.50) .aspx 참조)) – DAXaholic

답변

1

AOS 서비스 계정은 파일을 읽을 수있는 Windows 파일 권한이 있어야합니다.

액세스 문제는 배치 파일 문제의 가장 일반적인 원인이거나 UNC 파일이 아닌 두 번째 파일 문제 일 수 있습니다.

+1

또한,'WinAPIServer :: fileExists()'또는'WinAPI :: fileExists()'를 사용하여 더 이상 정보를 얻을 수 있는지 확인할 수 있습니다. –