2009-07-03 3 views
3

Zunächst einmal habe ich diesen Beitrag bereits gesehen: nant mail issues, aber die einzige Antwort ist nicht zufriedenstellend (d. H. Funktioniert nicht für mich).So machen Sie NAnt senden Sie eine E-Mail mit einem echten Konto

Ich benutze NAnt, um die neueste Version der Quelle zu erhalten, aktualisieren Sie die Version der Bibliotheken und Anwendungen, erstellen Sie die Anwendung, bauen Sie die Setups ... alle üblichen Dinge, ich wette. Ich möchte, dass NAnt einigen Leuten eine E-Mail sendet, die den Abschluss des Buildprozesses bestätigen. Ich habe bereits die offizielle (ziemlich hässlich, IMHO) documentation for the task überprüft, aber das Beispiel, einmal kopiert und angepasst, funktioniert nicht.

Dies sind die NAnt Ziel und Aufgabe, die ich bin mit:

<target name="sendMail" > 
    <mail 
     from="[email protected]" 
     tolist="[email protected];[email protected]" 
     subject="Subject of email" 
     mailhost="smtp.gmail.com" 
     message="Your new release is ready!"> 
    </mail> 
</target> 

Die Fehlermeldung ich erhalte, ist:

530 5.7.0 zunächst einen STARTTLS Befehl ausgeben muss.

Es sieht so aus, als ob die Aufgabe für die Verwendung durch ein Konto entwickelt wurde, dessen Anbieter keine Authentifizierung benötigt; aber was kann ich tun, wenn ich einen externen smtp-server verwenden muss, der eine authentifizierung erfordert (ich sage meinem chef, ich brauche einen smtp-server im hause, ist keine option)?

Kann mir jemand helfen/unterrichten?

Vielen Dank im Voraus ...

Antwort

0

, die ein großer Wert-fügen das NAntContrib Projekt sein würden. Ich bin mir sicher, dass viele davon profitieren würden, wenn Sie das wiederherstellen und einreichen könnten.

9

Mit Blick auf die code currently in the nant-trunk, die Nant Task bietet keine Authentifizierung. Gemäß dieser knowledge base article kann es sogar mit der System.Web.Mail-Klasse durchgeführt werden, die Nant derzeit verwendet, aber die Nant-Task die erforderlichen Eigenschaften nicht verfügbar macht. So Ihre Frage zu beantworten, ich glaube, Sie folgende Möglichkeiten:

  • Unterstützung der aktuellen Nant Aufgabe über die Technik zur Authentifizierung hinzufügen in dem Knowledge Base-Artikel beschrieben (unbedingt „http hinzuzufügen://schemas.microsoft.com/cdo/configuration/smtpusessl“,‚true‘ den Nachrichtenfelder), erneut kompilieren und verwenden sie es über die loadtasks -task

  • erstellen sie Ihre eigene E-Mail-Aufgabe über die Smtp client class (da die System.Web.Mail aus einem bestimmten Grund veraltet sein kann) und benutze sie über die loadtasks-task.

Update: Ich habe gerade die Umsetzung der Mail-Aufgabe und submitted a patch to the NAnt guys at sourceforge. Wenn Sie interessiert sind, können Sie die Datei dort herunterladen, so dass Sie sie nicht selbst implementieren müssen.

Verwandte Themen