NAnt: E-Mails mit Templates versenden

Es geht hier mal wieder um NAnt 🙂
Für unser Internes Support-Projekt wollte ich nun bei erfolgreichem Build eine E-Mail an unseren extra dafür neu angelegten Internen E-Mail Verteiler „alle@geheimefirma.de“ senden, so dass alle wissen das es eine neue Version gibt.

Da ich das ganze etwas komfortabel haben wollte, habe ich mir gedacht, kann ich das auch gleich über ein Template lösen.
Das Template ist eine HTML Datei, die einfach nur Platzhalter zum ersetzen hat, sieht ungefähr so aus:

@PROJEKTNAME@


Es ist eine Neue Version von @PROJEKTNAME@ verfuegbar.
Version: @VERSIONSNUMMER@

Die neue Version kann unter @UPDATEURL@ bezogen werden.
@HINWEIS@

Diese html Datei kopiere ich einfach nur mit NAnt und ersetze dabei über eine „filterchain“ die Token:

1
2
3
4
5
6
7
8
9
10
11
12
13
<target name="Emailcopy">
	<echo message="Email-Template mit Version ${NeueVersionsNummer} setzen"/> 
	<copy file="C:\Projekte\Support\EmailTemplate.html" tofile="C:\Projekte\Support\EmailInhalt.html" overwrite="true">
		<filterchain>
			<replacetokens>
				<token key="PROJEKTNAME" 	value="Support" />
				<token key="VERSIONSNUMMER"	value="${NeueVersionsNummer}" />
				<token key="UPDATEURL" 		value="\\server\software\support\AutoBuild\" />
				<token key="HINWEIS" 		value="Bitte den Inhalt lokal kopieren!" />
			</replacetokens>
		</filterchain>
	</copy>
</target>

Um das ganze dann via E-Mail weg zusenden ist folgendes notwendig:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<target name="Email">	
	<mail 	format="Html"	
			from="Buildserver@GeheimeFirma.de" 
			tolist="alle@GeheimeFirma.de" 
			subject="[Support] - Neue Version ( ${NeueVersionsNummer} )" 
			mailhost="smtp.GeheimeFirma.de" >			
		<files>
			<include name="C:\Projekte\Support\EmailInhalt.html" />
		</files>   
		<!--
		<attachments>
			<include name="test.txt" />
		</attachments>
		-->
	</mail>
</target>

Der „Files“ Abschnitt gibt an, welcher Inhalt von Dateien in die Body Message mit eingebunden werden soll.
Mit dem „Attachment“ Abschnitt könnte man noch einen E-Mail Anhang hinzufügen – war für mich jetzt nicht notwendig 🙂

Joah – das wars auch schon 🙂
Nun bekommt jeder eine Mail als Benachrichtigung, wenn es eine neue Version des Support-Projektes gibt.

leave your comment


*

Unterstütze den Frickelblog!