Signieren und Relayen

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
iruwen
Posts: 9
Joined: 2004-02-25 12:21

Signieren und Relayen

Post by iruwen » 2004-02-25 13:24

Hallo,

ich fühle mich grad ein wenig ins kalte Wasser geworfen.

Also folgendes Szenario liegt vor: ich habe hier einen Linuxrechner mit postfix. Auf der anderen Seite hab ich einen zweiten Mailserver (Exchange aber das spielt ja keine Rolle) durch den ich relayen muss.

Was getan werden muss: auf dem Linuxrechner liegen einige hundert Textdateien. Selbige müssen signiert und ihr Inhalt durch den zweiten Mailserver zum Empfänger relayt werden.

Das ganze möglichst innerhalb eines Bashscriptes.

iruwen
Posts: 9
Joined: 2004-02-25 12:21

Re: Signieren und Relayen

Post by iruwen » 2004-02-26 13:58

War eigentlich ganz einfach hab's mit Bash und PHP gemacht 8)

Signieren:

Code: Select all

#!/bin/bash

for i in `find ./templates/ -type f -maxdepth 1`; do
  test -r $i || continue
  gpg --output ./signed_templates/`basename $i` --clearsign $i
done
Relayen (mit Hilfe von PHPMailer):

Code: Select all

<?php

require_once("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();
$mail->Host = "1.2.3.4";

$mail->From = "me@myhost.com";
$mail->FromName = "me";
$mail->AddAddress("you@yourhost.com");

$mail->WordWrap = 72;

$mail->Subject = "SIGNED TEMPLATE";

$directory = "./signed_templates/";

$dir = opendir($directory);
$arr = array();
while (false !== ($file = readdir($dir)))
{
  if ($file != "." && $file != "..")
  {
    $arr[] = $file;
  }
}
closedir($dir);

$errors = 0;
foreach($arr as $filename)
{
  $fcontents = file($directory . $filename);
  $message = "";
  foreach($fcontents as $line)
  {
    $message .= $line;
  }

  $mail->Body = $message;

  if(! $mail->Send())
  {
    $errors++;
  }
}
echo "There have been " . $errors . " errors while sending mail.n";

?>
:) [/url]