This repository has been archived by the owner on Feb 26, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.php?title=Benutzer:Dmanente%2FSchnellanleitung%2FProjekte%2FEmailVersandHack.html
374 lines (353 loc) · 27.2 KB
/
index.php?title=Benutzer:Dmanente%2FSchnellanleitung%2FProjekte%2FEmailVersandHack.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
<!DOCTYPE html>
<html lang="de" dir="ltr" class="client-nojs">
<head>
<meta charset="UTF-8" />
<title>EmailVersandHack – alt.comp.hsr</title>
<meta name="robots" content="noindex, nofollow" />
<script>document.documentElement.className = document.documentElement.className.replace( /(^|\s)client-nojs(\s|$)/, "$1client-js$2" );</script>
<script>window.RLQ = window.RLQ || []; window.RLQ.push( function () {
mw.config.set({"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":!1,"wgNamespaceNumber":0,"wgPageName":"EmailVersandHack","wgTitle":"EmailVersandHack","wgCurRevisionId":1110,"wgRevisionId":1110,"wgArticleId":245,"wgIsArticle":!0,"wgIsRedirect":!1,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgBreakFrames":!1,"wgPageContentLanguage":"de","wgPageContentModel":"wikitext","wgSeparatorTransformTable":[",\t.",".\t,"],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"wgMonthNamesShort":["","Jan.","Feb.","Mär.","Apr.","Mai","Jun.","Jul.","Aug.","Sep.","Okt.","Nov.","Dez."],"wgRelevantPageName":"EmailVersandHack","wgRelevantArticleId":245,"wgIsProbablyEditable":!1,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgRedirectedFrom":"Benutzer:Dmanente/Schnellanleitung/Projekte/EmailVersandHack",
"wgInternalRedirectTargetUrl":"/index.php?title=EmailVersandHack"});mw.loader.implement("user.options",function($,jQuery){mw.user.options.set({"variant":"de"});});mw.loader.implement("user.tokens",function($,jQuery){mw.user.tokens.set({"editToken":"+\\","patrolToken":"+\\","watchToken":"+\\"});});mw.loader.load(["mediawiki.action.view.redirect","mediawiki.page.startup","mediawiki.legacy.wikibits"]);
} );</script>
<link rel="stylesheet" href="load.php%3Fdebug=false&lang=de&modules=mediawiki.legacy.commonPrint%252Cshared%257Cmediawiki.sectionAnchor%257Cmediawiki.skinning.interface%257Cskins.monobook.styles&only=styles&skin=monobook.css" />
<!--[if IE 6]><link rel="stylesheet" href="/skins/MonoBook/IE60Fixes.css?303" media="screen" /><![endif]-->
<!--[if IE 7]><link rel="stylesheet" href="/skins/MonoBook/IE70Fixes.css?303" media="screen" /><![endif]-->
<meta name="ResourceLoaderDynamicStyles" content="" />
<link rel="stylesheet" href="load.php%3Fdebug=false&lang=de&modules=site&only=styles&skin=monobook.css" />
<style>a:lang(ar),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none}</style>
<script async="" src="load.php%3Fdebug=false&lang=de&modules=startup&only=scripts&skin=monobook"></script>
<meta name="generator" content="MediaWiki 1.26.0" />
<link rel="shortcut icon" href="http://altcomphsr.vshsr.ch/favicon.ico" />
<link rel="search" type="application/opensearchdescription+xml" href="opensearch_desc.php" title="alt.comp.hsr (de)" />
<link rel="EditURI" type="application/rsd+xml" href="api.php%3Faction=rsd" />
<link rel="copyright" href="http://www.gnu.org/copyleft/fdl.html" />
<link rel="alternate" type="application/atom+xml" title="Atom-Feed für „alt.comp.hsr“" href="./index.php%3Ftitle=Spezial:Letzte_%25C3%2584nderungen&feed=atom" />
<link rel="canonical" href="index.php%3Ftitle=EmailVersandHack.html" />
</head>
<body class="mediawiki ltr sitedir-ltr capitalize-all-nouns ns-0 ns-subject page-EmailVersandHack skin-monobook action-view">
<div id="globalWrapper">
<div id="column-content">
<div id="content" class="mw-body" role="main">
<a id="top"></a>
<div class="mw-indicators">
</div>
<h1 id="firstHeading" class="firstHeading" lang="de">EmailVersandHack</h1>
<div id="bodyContent" class="mw-body-content">
<div id="siteSub">Aus alt.comp.hsr</div>
<div id="contentSub"><span class="mw-redirectedfrom">(Weitergeleitet von <a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack&redirect=no.html" title="Benutzer:Dmanente/Schnellanleitung/Projekte/EmailVersandHack">Benutzer:Dmanente/Schnellanleitung/Projekte/EmailVersandHack</a>)</span></div>
<div id="jump-to-nav" class="mw-jump">Wechseln zu: <a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#column-one">Navigation</a>, <a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#searchInput">Suche</a></div>
<!-- start content -->
<div id="mw-content-text" lang="de" dir="ltr" class="mw-content-ltr"><p>Diese Konfiguration habe ich für unser SE2P Projekt auf unserem Ubuntu Virtual Server (SE2P Version) vorgenommen. Diese Anleitung dient dazu, dass man dem virtuellen Server, der von der SMTP-Welt ausgeschlossen ist, die Mailfunktionalität beibringt, indem man die Mails von Jenkins und Redmine irgendwo anders in Auftrag gibt. Diese Variante führt bei Erhalt eines Mails ein spezielles Skript aus, welches dann ein Skript auf einem öffentlichen Server über HTTP ankickt und die Daten mitschickt.
</p>
<div id="toc" class="toc"><div id="toctitle"><h2>Inhaltsverzeichnis</h2></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#Virtueller_Server"><span class="tocnumber">1</span> <span class="toctext">Virtueller Server</span></a>
<ul>
<li class="toclevel-2 tocsection-2"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#Annahmen"><span class="tocnumber">1.1</span> <span class="toctext">Annahmen</span></a></li>
<li class="toclevel-2 tocsection-3"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#Vorbereitung"><span class="tocnumber">1.2</span> <span class="toctext">Vorbereitung</span></a></li>
<li class="toclevel-2 tocsection-4"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#Konfiguration"><span class="tocnumber">1.3</span> <span class="toctext">Konfiguration</span></a>
<ul>
<li class="toclevel-3 tocsection-5"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#.2Fetc.2Faliases"><span class="tocnumber">1.3.1</span> <span class="toctext">/etc/aliases</span></a></li>
<li class="toclevel-3 tocsection-6"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#.2Fetc.2Fmail.2Fsendmail.mc"><span class="tocnumber">1.3.2</span> <span class="toctext">/etc/mail/sendmail.mc</span></a></li>
<li class="toclevel-3 tocsection-7"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#.2Fetc.2Fmail.2Fvirtusertable"><span class="tocnumber">1.3.3</span> <span class="toctext">/etc/mail/virtusertable</span></a></li>
<li class="toclevel-3 tocsection-8"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#.2Fetc.2Fmail.2Fvirtual-domains"><span class="tocnumber">1.3.4</span> <span class="toctext">/etc/mail/virtual-domains</span></a></li>
<li class="toclevel-3 tocsection-9"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#.2Fusr.2Flocal.2Fscripts.2Fspecialmailer.2Fsend.php"><span class="tocnumber">1.3.5</span> <span class="toctext">/usr/local/scripts/specialmailer/send.php</span></a></li>
</ul>
</li>
<li class="toclevel-2 tocsection-10"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#Abschluss"><span class="tocnumber">1.4</span> <span class="toctext">Abschluss</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-11"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#.C3.96ffentlicher_Server"><span class="tocnumber">2</span> <span class="toctext">Öffentlicher Server</span></a>
<ul>
<li class="toclevel-2 tocsection-12"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#Skript"><span class="tocnumber">2.1</span> <span class="toctext">Skript</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-13"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#Konfiguration_der_Tools"><span class="tocnumber">3</span> <span class="toctext">Konfiguration der Tools</span></a>
<ul>
<li class="toclevel-2 tocsection-14"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#Jenkins"><span class="tocnumber">3.1</span> <span class="toctext">Jenkins</span></a>
<ul>
<li class="toclevel-3 tocsection-15"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#Konfiguration_GUI"><span class="tocnumber">3.1.1</span> <span class="toctext">Konfiguration GUI</span></a></li>
</ul>
</li>
<li class="toclevel-2 tocsection-16"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#Redmine"><span class="tocnumber">3.2</span> <span class="toctext">Redmine</span></a>
<ul>
<li class="toclevel-3 tocsection-17"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#.2Fetc.2Fredmine.2Fdefault.2Fconfiguration.yml"><span class="tocnumber">3.2.1</span> <span class="toctext">/etc/redmine/default/configuration.yml</span></a></li>
<li class="toclevel-3 tocsection-18"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#Konfiguration_GUI_2"><span class="tocnumber">3.2.2</span> <span class="toctext">Konfiguration GUI</span></a></li>
</ul>
</li>
</ul>
</li>
<li class="toclevel-1 tocsection-19"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#Debugging"><span class="tocnumber">4</span> <span class="toctext">Debugging</span></a></li>
<li class="toclevel-1 tocsection-20"><a href="./index.php%3Ftitle=Benutzer:Dmanente%252FSchnellanleitung%252FProjekte%252FEmailVersandHack.html#Quellen_und_Anlaufstellen"><span class="tocnumber">5</span> <span class="toctext">Quellen und Anlaufstellen</span></a></li>
</ul>
</div>
<h2><span class="mw-headline" id="Virtueller_Server">Virtueller Server</span></h2>
<h3><span class="mw-headline" id="Annahmen">Annahmen</span></h3>
<ul><li> Dir steht ein (PHP-fähiger) Server zur Verfügung, der via HTTP erreichbar ist und Mails verschicken kann</li>
<li> sendmail ist (vor)installiert</li>
<li> Eingeloggt via ssh als Benutzer root</li></ul>
<h3><span class="mw-headline" id="Vorbereitung">Vorbereitung</span></h3>
<p>Installiere php (ja sorry, ich kann halt immernoch php am besten ;)
</p>
<pre> $ sudo apt-get install php5 php5-cli
</pre>
<h3><span class="mw-headline" id="Konfiguration">Konfiguration</span></h3>
<h4><span class="mw-headline" id=".2Fetc.2Faliases">/etc/aliases</span></h4>
<p>Der virtuelle lokale Benutzer "special" wird die E-Mails annehmen und sendmail "pipe"d so den Inhalt an das Skript weiter:
</p><p>Suche nach:
</p>
<pre> # Other aliases
</pre>
<p>und ergänze mit:
</p>
<pre> special: |/usr/local/scripts/specialmailer/send.php
</pre>
<h4><span class="mw-headline" id=".2Fetc.2Fmail.2Fsendmail.mc">/etc/mail/sendmail.mc</span></h4>
<p>Sendmail erweitern wir um das Feature, eigendlich externe Adressen intern to "relayen", dazu sind dann auch ein paar Einträge in anderen Files notwendig:
</p><p>Suche nach:
</p>
<pre> dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, M=Ea, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl
</pre>
<p>und ergänze unterhalb mit:
</p>
<pre> dnl # Define virtualusertable
FEATURE(`virtusertable', `hash /etc/mail/virtusertable')dnl
VIRTUSER_DOMAIN_FILE(`/etc/mail/virtual-domains')dnl
</pre>
<h4><span class="mw-headline" id=".2Fetc.2Fmail.2Fvirtusertable">/etc/mail/virtusertable</span></h4>
<p>Wir definieren eine "catch-all" Regel und leiten diese an unseren speziellen "special" user weiter.
</p><p>Erstelle Datei mit Inhalt:
</p>
<pre> @hsr.ch special
</pre>
<h4><span class="mw-headline" id=".2Fetc.2Fmail.2Fvirtual-domains">/etc/mail/virtual-domains</span></h4>
<p>Damit die Regel überhaupt zieht, müssen wir definieren, dass sendmail die gewünschten Domains überhaupt beachtet.
</p><p>Erstelle Datei mit Inhalt:
</p>
<pre> hsr.ch
</pre>
<h4><span class="mw-headline" id=".2Fusr.2Flocal.2Fscripts.2Fspecialmailer.2Fsend.php">/usr/local/scripts/specialmailer/send.php</span></h4>
<p>Nun erstellen wir das Skript, welches angekickt wird im Falle, dass "special" eine Mail bekommt. Das kann natürlich auch ein eigenes Skript sein. Diese Variante leitet den ganzen Mail-Content per POST an das gewünschte Skript des öffentlichen Servers weiter.
</p><p>!WICHTIG! Ändere $url zu der Adresse, wo sich das andere Skript dann befinden wird.
!WICHTIG! Denke daran, dieser Datei Ausführberechtigung zu geben, z.B. mit:
</p>
<pre> $ chmod +x send.php
</pre>
<p>Erstelle Datei mit Inhalt:
</p>
<pre> #!/usr/bin/php -q
<?php
stream_set_blocking(STDIN, 0);
$mail = "";
while(($line = fgets(STDIN)) !== FALSE) {
$mail .= $line;
}
//file_put_contents("/tmp/send.log", $mail);
$url = '<a rel="nofollow" class="external free" href="http://stuff.deinedomain.ch/hsrmail.php'">http://stuff.deinedomain.ch/hsrmail.php'</a>;
$data = array('msg' => $mail);
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
),
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
</pre>
<h3><span class="mw-headline" id="Abschluss">Abschluss</span></h3>
<p>Übernehme die neue Konfiguration mit (die Fragen grundsätzlich mit y=Yes beantworten)
</p>
<pre> $ newaliases
$ sendmailconfig
</pre>
<h2><span class="mw-headline" id=".C3.96ffentlicher_Server">Öffentlicher Server</span></h2>
<h3><span class="mw-headline" id="Skript">Skript</span></h3>
<p>Mein Mailversandskript nutzt das "alte" Zend Framework, um einfacher den Mail-Header und -body auseinander zu nehmen und das neue Mail dann zu verschicken.
Ihr benötigt also noch das Zend Framework v1.x.x, auspacken, und das "library"-Verzeichnis in die gleiche ebene wie das Skript ablegen.
</p><p>!WICHTIG! Schütze dein öffentliches Skript vor unbefugten Zugriffen, z.B. Alles blocken ausser der Anfragende hat die zugelassene IP
</p>
<pre> <php
if($_SERVER['REMOTE_ADDR'] != "11.22.33.44") {
die("You're not permitted to send mails over this script");
}
@error_reporting(E_ALL^E_NOTICE);
@ini_set('display_errors','on');
set_include_path(get_include_path().PATH_SEPARATOR.'./library');
include_once("Zend/Mail.php");
include_once("Zend/Mail/Message.php");
//file_put_contents("send.log", $_POST['msg']);
$parsed_mail = new Zend_Mail_Message(array('raw' => $_POST['msg']));
//file_put_contents("debug.log", print_r($parsed_mail, true));
//file_put_contents("debug2.log", print_r($parsed_mail->to, true));
$mail = new Zend_Mail('UTF-8');
$mail->setFrom('[email protected]', 'DragonSlayer');
if(preg_match("/hsr\.ch/", $parsed_mail->to)) {
foreach(explode(",", $parsed_mail->to) as $recipient) {
$mail->addTo(trim($recipient));
}
} else { // der Empfänger war special, welches dann an alle gehen sollte
$mail->addTo('[email protected]', 'mitglied1 name');
$mail->addTo('[email protected]', 'mitglied2 name');
$mail->addTo('[email protected]', 'mitglied3 name');
$mail->addTo('[email protected]', 'mitglied4 name');
}
$mail->setSubject($parsed_mail->subject);
$mail->setBodyText(trim($parsed_mail->getContent()));
$mail->send();
</pre>
<h2><span class="mw-headline" id="Konfiguration_der_Tools">Konfiguration der Tools</span></h2>
<h3><span class="mw-headline" id="Jenkins">Jenkins</span></h3>
<p>Benutze als Mailserver jeweils "localhost". Soll das Mail an alle gehen, nutze "special" oder "special@localhost" als Empfänger, ich empfehle auch "special@localhost" als Absender zu definieren. Es wird keine Authentifizierung (da lokal) benötigt. Diese Variante ist für Jenkins interessant.
</p>
<h4><span class="mw-headline" id="Konfiguration_GUI">Konfiguration GUI</span></h4>
<p><a href="./index.php%3Ftitle=Datei:Schnellanleitung_Projekte_Jenkins0.jpg.html" class="image"><img alt="Schnellanleitung Projekte Jenkins0.jpg" src="images/6/66/Schnellanleitung_Projekte_Jenkins0.jpg" width="932" height="165" /></a>
</p><p><a href="./index.php%3Ftitle=Datei:Schnellanleitung_Projekte_Jenkins1.jpg.html" class="image"><img alt="Schnellanleitung Projekte Jenkins1.jpg" src="images/d/d6/Schnellanleitung_Projekte_Jenkins1.jpg" width="435" height="90" /></a>
</p>
<h3><span class="mw-headline" id="Redmine">Redmine</span></h3>
<p>Sobald ein Mail an eine @hsr.ch -Adresse geschickt wird, wird diese auch automatisch an "special" übermittelt. Das externe Skript erkennt jedoch, dass dieses Mail an einen (oder mehrere) direkt gesendet wird.
</p>
<h4><span class="mw-headline" id=".2Fetc.2Fredmine.2Fdefault.2Fconfiguration.yml">/etc/redmine/default/configuration.yml</span></h4>
<p>Erstelle Datei mit Inhalt:
</p>
<pre> production:
email_delivery:
delivery_method: :sendmail
</pre>
<h4><span class="mw-headline" id="Konfiguration_GUI_2">Konfiguration GUI</span></h4>
<p><a href="./index.php%3Ftitle=Datei:Schnellanleitung_Projekte_Redmine0.jpg.html" class="image"><img alt="Schnellanleitung Projekte Redmine0.jpg" src="images/9/92/Schnellanleitung_Projekte_Redmine0.jpg" width="876" height="516" /></a>
</p>
<h2><span class="mw-headline" id="Debugging">Debugging</span></h2>
<p>Generell ist es schwierig zu debuggen, wenn man sich nicht in das Thema gearbeitet hat oder sich nicht auskennt. Anlaufstellen sind:
</p>
<ul><li> Manuell ein Mail auslösen:</li></ul>
<pre> $ echo "Testmail" | mail -s "Testmail" [email protected]
$ echo "Mastermail" | mail -s "Mastermail" special
</pre>
<ul><li> die file_put_contents der Skripts aktivieren, und schauen was drin steht (in Zusammenhang mit den oberen beiden Befehlen natürlich den Inhalt wechseln)</li>
<li> Die sendmail-logs durchsuchen, befinden sich unter /var/log/mail*</li></ul>
<p><br />
</p>
<h2><span class="mw-headline" id="Quellen_und_Anlaufstellen">Quellen und Anlaufstellen</span></h2>
<ul><li> <a rel="nofollow" class="external autonumber" href="http://blog.postmaster.gr/2008/12/15/sendmail-implementing-a-catch-all-address/">[1]</a></li>
<li> <a rel="nofollow" class="external autonumber" href="https://gist.github.com/bsodmike/1010125">[2]</a>]</li>
<li> <a rel="nofollow" class="external autonumber" href="http://lena.franken.de/linux/debian_and_vserver/sendmail_mailinthemiddle.html">[3]</a></li></ul>
<!--
NewPP limit report
Cached time: 20160404191530
Cache expiry: 86400
Dynamic content: false
CPU time usage: 0.029 seconds
Real time usage: 0.046 seconds
Preprocessor visited node count: 79/1000000
Preprocessor generated node count: 84/1000000
Post‐expand include size: 0/2097152 bytes
Template argument size: 0/2097152 bytes
Highest expansion depth: 2/40
Expensive parser function count: 0/100
-->
<!--
Transclusion expansion time report (%,ms,calls,template)
100.00% 0.000 1 - -total
-->
<!-- Saved in parser cache with key vshsrch_altcomphsr:pcache:idhash:245-0!*!*!!de!5!* and timestamp 20160404191530 and revision id 1110
-->
</div><div class="printfooter">
Von „<a dir="ltr" href="index.php%3Ftitle=EmailVersandHack&oldid=1110.html">http://altcomphsr.vshsr.ch/index.php?title=EmailVersandHack&oldid=1110</a>“</div>
<div id='catlinks' class='catlinks catlinks-allhidden'></div> <!-- end content -->
<div class="visualClear"></div>
</div>
</div>
</div>
<div id="column-one">
<h2>Navigationsmenü</h2>
<div id="p-cactions" class="portlet" role="navigation">
<h3>Ansichten</h3>
<div class="pBody">
<ul>
<li id="ca-nstab-main" class="selected"><a href="index.php%3Ftitle=EmailVersandHack.html" title="Seiteninhalt anzeigen [c]" accesskey="c">Seite</a></li>
<li id="ca-talk" class="new"><a href="http://altcomphsr.vshsr.ch/index.php?title=Diskussion:EmailVersandHack&action=edit&redlink=1" rel="discussion" title="Diskussion zum Seiteninhalt [t]" accesskey="t">Diskussion</a></li>
<li id="ca-viewsource"><a href="index.php%3Ftitle=EmailVersandHack&action=edit.html" title="Diese Seite ist geschützt. Ihr Quelltext kann dennoch angesehen und kopiert werden. [e]" accesskey="e">Quelltext anzeigen</a></li>
<li id="ca-history"><a href="index.php%3Ftitle=EmailVersandHack&action=history.html" title="Frühere Versionen dieser Seite [h]" accesskey="h">Versionsgeschichte</a></li>
</ul>
</div>
</div>
<div class="portlet" id="p-personal" role="navigation">
<h3>Meine Werkzeuge</h3>
<div class="pBody">
<ul>
<li id="pt-anonuserpage"><a href="./index.php%3Ftitle=Benutzer:152.96.237.233.html" class="new" title="Benutzerseite der IP-Adresse von der aus du Änderungen durchführst [.]" accesskey=".">152.96.237.233</a></li>
<li id="pt-anontalk"><a href="./index.php%3Ftitle=Benutzer_Diskussion:152.96.237.233.html" class="new" title="Diskussion über Änderungen von dieser IP-Adresse [n]" accesskey="n">Diskussionsseite dieser IP</a></li>
<li id="pt-createaccount"><a href="./index.php%3Ftitle=Spezial:Anmelden&returnto=EmailVersandHack&type=signup.html" title="Wir ermutigen dich dazu, ein Benutzerkonto zu erstellen und dich anzumelden. Es ist jedoch nicht zwingend erforderlich.">Benutzerkonto erstellen</a></li>
<li id="pt-login"><a href="./index.php%3Ftitle=Spezial:Anmelden&returnto=EmailVersandHack.html" title="Sich anzumelden wird gerne gesehen, ist jedoch nicht zwingend erforderlich. [o]" accesskey="o">Anmelden</a></li>
</ul>
</div>
</div>
<div class="portlet" id="p-logo" role="banner">
<a href="index.html" class="mw-wiki-logo" title="Hauptseite"></a>
</div>
<div class="generated-sidebar portlet" id="p-navigation" role="navigation">
<h3>Navigation</h3>
<div class='pBody'>
<ul>
<li id="n-mainpage-description"><a href="index.html" title="Hauptseite besuchen [z]" accesskey="z">Hauptseite</a></li>
<li id="n-currentevents"><a href="./index.php%3Ftitle=alt.comp.hsr:Aktuelle_Ereignisse.html" title="Hintergrundinformationen zu aktuellen Ereignissen">Aktuelle Ereignisse</a></li>
<li id="n-Statuten"><a href="./index.php%3Ftitle=Medium:Statuten.pdf.html">Statuten</a></li>
<li id="n-recentchanges"><a href="./index.php%3Ftitle=Spezial:Letzte_%25C3%2584nderungen.html" title="Liste der letzten Änderungen in diesem Wiki [r]" accesskey="r">Letzte Änderungen</a></li>
<li id="n-randompage"><a href="./index.php%3Ftitle=Spezial:Zuf%25C3%25A4llige_Seite.html" title="Zufällige Seite aufrufen [x]" accesskey="x">Zufällige Seite</a></li>
<li id="n-help"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents" title="Hilfeseite anzeigen">Hilfe</a></li>
</ul>
</div>
</div>
<div id="p-search" class="portlet" role="search">
<h3><label for="searchInput">Suche</label></h3>
<div id="searchBody" class="pBody">
<form action="http://altcomphsr.vshsr.ch/index.php" id="searchform">
<input type='hidden' name="title" value="Spezial:Suche"/>
<input type="search" name="search" placeholder="Suchen" title="alt.comp.hsr durchsuchen [f]" accesskey="f" id="searchInput" />
<input type="submit" name="go" value="Seite" title="Gehe direkt zu der Seite, die exakt dem eingegebenen Namen entspricht." id="searchGoButton" class="searchButton" /> 
<input type="submit" name="fulltext" value="Suchen" title="Suche nach Seiten, die diesen Text enthalten" id="mw-searchButton" class="searchButton" />
</form>
</div>
</div>
<div class="portlet" id="p-tb" role="navigation">
<h3>Werkzeuge</h3>
<div class="pBody">
<ul>
<li id="t-whatlinkshere"><a href="./index.php%3Ftitle=Spezial:Linkliste%252FEmailVersandHack.html" title="Liste aller Seiten, die hierher verlinken [j]" accesskey="j">Links auf diese Seite</a></li>
<li id="t-recentchangeslinked"><a href="http://altcomphsr.vshsr.ch/index.php?title=Spezial:%C3%84nderungen_an_verlinkten_Seiten/EmailVersandHack" title="Letzte Änderungen an Seiten, die von hier verlinkt sind [k]" accesskey="k">Änderungen an verlinkten Seiten</a></li>
<li id="t-specialpages"><a href="./index.php%3Ftitle=Spezial:Spezialseiten.html" title="Liste aller Spezialseiten [q]" accesskey="q">Spezialseiten</a></li>
<li id="t-print"><a href="index.php%3Ftitle=EmailVersandHack&printable=yes.html" rel="alternate" title="Druckansicht dieser Seite [p]" accesskey="p">Druckversion</a></li>
<li id="t-permalink"><a href="index.php%3Ftitle=EmailVersandHack&oldid=1110.html" title="Dauerhafter Link zu dieser Seitenversion">Permanenter Link</a></li>
<li id="t-info"><a href="index.php%3Ftitle=EmailVersandHack&action=info.html" title="Weitere Informationen über diese Seite">Seiteninformationen</a></li>
</ul>
</div>
</div>
</div><!-- end of the left (by default at least) column -->
<div class="visualClear"></div>
<div id="footer" role="contentinfo">
<div id="f-copyrightico">
<a href="http://www.gnu.org/copyleft/fdl.html"><img src="resources/assets/licenses/gnu-fdl.png" alt="GNU Free Documentation License 1.2" width="88" height="31" /></a>
</div>
<div id="f-poweredbyico">
<a href="http://www.mediawiki.org/"><img src="resources/assets/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" srcset="/resources/assets/poweredby_mediawiki_132x47.png 1.5x, /resources/assets/poweredby_mediawiki_176x62.png 2x" width="88" height="31" /></a>
</div>
<ul id="f-list">
<li id="lastmod"> Diese Seite wurde zuletzt am 27. April 2013 um 10:26 Uhr geändert.</li>
<li id="copyright">Der Inhalt ist verfügbar unter der Lizenz <a class="external" rel="nofollow" href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License 1.2</a>, sofern nicht anders angegeben.</li>
<li id="privacy"><a href="http://altcomphsr.vshsr.ch/index.php?title=alt.comp.hsr:Datenschutz" title="alt.comp.hsr:Datenschutz">Datenschutz</a></li>
<li id="about"><a href="./index.php%3Ftitle=alt.comp.hsr:%25C3%259Cber_alt.comp.hsr.html" title="alt.comp.hsr:Über alt.comp.hsr">Über alt.comp.hsr</a></li>
<li id="disclaimer"><a href="http://altcomphsr.vshsr.ch/index.php?title=alt.comp.hsr:Impressum" title="alt.comp.hsr:Impressum">Impressum</a></li>
</ul>
</div>
</div>
<script>window.RLQ = window.RLQ || []; window.RLQ.push( function () {
mw.loader.state({"user":"ready","user.groups":"ready"});
} );</script>
<link rel="stylesheet" href="load.php%3Fdebug=false&lang=de&modules=mediawiki.skinning.content.externallinks&only=styles&skin=monobook.css" />
<script>window.RLQ = window.RLQ || []; window.RLQ.push( function () {
mw.loader.load(["mediawiki.toc","mediawiki.action.view.postEdit","site","mediawiki.user","mediawiki.hidpi","mediawiki.page.ready","mediawiki.searchSuggest"]);
} );</script><script>window.RLQ = window.RLQ || []; window.RLQ.push( function () {
mw.config.set({"wgBackendResponseTime":181});
} );</script></body></html>