Hallo,
ich habe einen SSRS 2008 R2 Server am laufen, der einen Report drucken soll. Wenn es zu einem Fehler beim Drucken kommt, dann moechte ich gerne eine Email versenden.
Rahmenbedingungen:
Visual Studio 2008
.Net 3.5 Framework
Der Dienst selbst laeuft als BCP-Servcice User ohne Adminrechte.
if (sendEmailOnce)
{
SendEmail("Email test");
sendEmailOnce = false;
}
Meine "SendMail"-Methode sieht wie folgt aus:
public static void SendEmail(string _message)
{
//your code goes here
string to = "peter@test.de";
string from = "Reporting@test.de";
MailMessage message = new MailMessage(from, to);
message.Subject = "Using the new SMTP client.";
message.Body = @"Using this new feature, you can send an e-mail message from an application very easily." + System.Environment.NewLine + _message;
try
{
System.Net.Mail.SmtpPermission myMailPermission = new SmtpPermission(PermissionState.Unrestricted);
myMailPermission.Demand();
//myMailPermission.AddPermission(SmtpAccess.ConnectToUnrestrictedPort);
myMailPermission.Assert();
Console.WriteLine("Ausgabe: " + myMailPermission.Access);
SmtpClient client = new SmtpClient(MAIL_SERVER_ADDRESS);
client.UseDefaultCredentials = true;
client.Send(message);
CodeAccessPermission.RevertAssert();
}
catch (Exception ex)
{
Console.WriteLine("Exception caught in SendMail(): {0}", ex.ToString());
}
}
Ich erhalte eine SecurityException wie im Anhang. Ich kann auch nicht den User-Kontext wechseln.
Folgendes habe ich nun versucht, aber ich denke als liegt an einer Sicherheitsstufe:*Mailversand *Batch *PowerShell Script *UserContext Switch *Webservice aufrufen *Ins Eventlog schreiben
Egal was ich probiert habe, es kommt immer eine Security Issue 😦
Habt ihr noch eine Idee?!
Grueße,
Peter
Wie ist die genaue Fehlermeldung? Welche Zeile genau knallt? Das Send?
Stimmt der Default Port 25 oder musst Du evtl. 587 incl. SSL verwenden?
Muss evtl. die DeliveryMethod
auf "Network" stehen, was meistens der Fall ist?
Sicher, dass der Mail Servce Default Credentials akzeptiert?
Benutze dafür das Error-BBCode Tag und kein Bild.
[Hinweis] Wie poste ich richtig? Punkt 5 / Punkt 6 😉
Zum Code:
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Es knallt bei der Zeile
SmtpClient client = new SmtpClient(MAIL_SERVER_ADDRESS);
Auch wenn ich den MailServer herausnehme, dann kommt dennoch die Fehlermeldung.
Ich kann in der "nrssrvpolicy.config" fuer das Modul die Permission auf "FullTrust" setzen, dann funktioniert es, aber dass find ich suboptimal!