2017-12-14 20 views
1

「CLRオブジェクトを作成できません」というバッチジョブで電子メールを送信中にエラーが発生しました。添付ファイルがない場合は正常に動作しますが、添付ファイルがあるファイルやディレクトリではパーミッションはOKです。バッチジョブへの添付ファイル追加時のエラー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(); 

私はデバッグとエラーがでてくる "メールの添付ファイルが=新しいSystem.Net.Mail.Attachment(ファイル名);"ライン。パスコーディングエラーはありますか? '\ network \ directory \ file.csv'や@pathのようなUNCパスを使用し、パスとファイル名を同じエラーでハードコーディングしました。 私はsysmailerクラスを試しましたが、添付ファイルの追加中にエラーが発生しました。 アイデア 任意のヘルプ

についてのおかげで、

+0

あなたは、例外の詳細を印刷しようとすることができより多くの情報を得るために - [ここ](https://msdn.microsoft.com/en-us/library/aa656495(V = ax.50).aspxのを参照してください) – DAXaholic

答えて

1

AOSサービスアカウントには、ファイルを読み込むため、Windowsのファイルのアクセス許可を持っている必要があります。

アクセスの問題は、バッチファイルの問題の最も一般的な原因であるか、あるいは第二の非UNCファイル名に。

+1

また、 'WinAPIServer :: fileExists()'や 'WinAPI :: fileExists()'を使って情報を取得できるかどうかを調べることができます。 –

関連する問題