Ich suche ein kleines Tool, was ein Verzeichnis überwacht, in dem ab und an PDF-Dateien landen. Diese sollen dann per Email versendet und anschließend gelöscht werden. Bis jetzt hab ich nur den Automailer Freeware gefunden, dieser unterstützt aber keine SSL-Verschlüsselung in der Kommunikation mit dem SMTP-Server, das gefällt mir nicht sonderlich. Es gibt angeblich eine Pro-Version, aber das find ich nur auf anrüchigen Shareware-Seiten.
Sowas muss es doch eigentlich zu Hauf geben?
Automailer
-
- PLUS-Mitglied
- Beiträge: 677
- Registriert: 8. Okt 2007 14:14
- Land: Deutschland
Re: Automailer
Hi,wolle hat geschrieben:Ich suche ein kleines Tool, was ein Verzeichnis überwacht, in dem ab und an PDF-Dateien landen. Diese sollen dann per Email versendet und anschließend gelöscht werden. Bis jetzt hab ich nur den Automailer Freeware gefunden, dieser unterstützt aber keine SSL-Verschlüsselung in der Kommunikation mit dem SMTP-Server, das gefällt mir nicht sonderlich. Es gibt angeblich eine Pro-Version, aber das find ich nur auf anrüchigen Shareware-Seiten.
Sowas muss es doch eigentlich zu Hauf geben?
Im Zweifel mit Powershell Skripten und per Task ausführen... sollte keine halbe Stunde dauern.
Kann ich dir morgen schnell machen
Gruß
J
Gesendet von iPad mit Tapatalk
-
- PLUS-Mitglied
- Beiträge: 677
- Registriert: 8. Okt 2007 14:14
- Land: Deutschland
Re: Automailer
Und auch wenn ich mir ungerne selber antworte, hier einmal die Lösung als Powershell Script, Speichern als .ps1 an beliebiger Stelle, in der Aufgabenplanung einbinden und alle 5min laufen lassen.
Die Variablen oben müssen noch kurz durch passende Einträge ersetzt werden
Die Variablen oben müssen noch kurz durch passende Einträge ersetzt werden
Code: Alles auswählen
# Powershell Script um die Dateien in einem Verzeichnis per
# Mail zu versenden und diese danach zu verschieben
# Version 0.1
#
#
# Variablenangaben Aenderungen sollten nur hier notwendig sein
$Pfad = 'c:\Beispiel\'
$Empfaenger ='Empfaenger@example.com'
$Sender = 'Absender@example.com'
$Mailserver = 'mailserver@example.com'
$SMTPBenutzer = 'Anmeldenamen für den Mailserver'
$SMTPKennwort = 'Kennwort für den Mailserver'
$SMTPPort = '587'
# Ab hier sollten keine Aenderungen notwendig sein
#
# Kennwort für den Mailversand zusammenbauen
$SMTPKennwortSec = $SMTPKennwort | ConvertTo-SecureString -AsPlainText -Force
$Anmeldung = New-Object System.Management.Automation.PSCredential -ArgumentList $SMTPBenutzer, $SMTPKennwortSec
# Auslesen des Pfades und Mailversand der Datei / inkl. loeschen der Datei
$Data = Get-ChildItem $Pfad
foreach ($Datei in $Data) {
$Betreff = "Es wurde eine Datei mit dem Namen " +$Datei.Name+" versendet"
Send-MailMessage -from $Sender -To $Empfaenger -Subject $Betreff -SmtpServer $Mailserver -Credential $Anmeldung -Port $SMTPPort -UseSsl -Attachments $Datei.FullName
Remove-Item $Datei.FullName
}
Re: Automailer
Vielen Dank!
Funktioniert das auch, wenn mehrere Dateien vorhanden sind? Werden dann alle Dateien in eine Email angehangen oder wird eine separate Mail erstellt? Kann man das Skript auch 2x laufen lassen, mit zwei verschiedenen Varianten? D.h. Verzeichnis 1 wird dahin gemailt, Verzeichnis 2 dahin?
Funktioniert das auch, wenn mehrere Dateien vorhanden sind? Werden dann alle Dateien in eine Email angehangen oder wird eine separate Mail erstellt? Kann man das Skript auch 2x laufen lassen, mit zwei verschiedenen Varianten? D.h. Verzeichnis 1 wird dahin gemailt, Verzeichnis 2 dahin?
-
- PLUS-Mitglied
- Beiträge: 677
- Registriert: 8. Okt 2007 14:14
- Land: Deutschland
Re: Automailer
Hi,
kurze Antworten:
Gruß
J
kurze Antworten:
- das Script versendet je vorhandener Datei eine E-Mail, und löscht Sie direkt...
- du kannst beliebig viele Instanzen unter verschiedenen Namen laufen lassen oder in einer Datei, hierzu einfach das ganze Script noch einmal unter das erste kopieren und die Variablen verändern
Gruß
J
-
- PLUS-Mitglied
- Beiträge: 677
- Registriert: 8. Okt 2007 14:14
- Land: Deutschland
Re: Automailer
Kein Thema... Das waren jetzt keine 30min, am meisten musste ich mit der Anmeldung am SMTP Server überlegen, dass muss ich in meinen Umgebungen normal nichtwolle hat geschrieben:Top, du hast was gut bei mir
Rest war einfach, und ich kann immer nur wieder empfehlen, sich zwischendurch mit der Powershell auseinanderzusetzen (okay, vielleicht nicht als Geschäftsführer....) aber die Scriptsprache kann richtig was.
Gruß
J
Re: Automailer
Ohne unverschämt werden zu wollen:
Ginge es auch, dass das Skript die Datei in ein weiteres, zu benennendes Verzeichnis verschiebt?
P.S. Ganz unbegabt bin ich bei sowas nicht, ich hab nur selten die Muße, es ordentlich zu machen, und im konkreten Fall hätte ich z.B. Angst, ein Amokskript zu entwerfen, das aus Versehen den ganzen Datenbestand löscht.
Ginge es auch, dass das Skript die Datei in ein weiteres, zu benennendes Verzeichnis verschiebt?
P.S. Ganz unbegabt bin ich bei sowas nicht, ich hab nur selten die Muße, es ordentlich zu machen, und im konkreten Fall hätte ich z.B. Angst, ein Amokskript zu entwerfen, das aus Versehen den ganzen Datenbestand löscht.
-
- PLUS-Mitglied
- Beiträge: 677
- Registriert: 8. Okt 2007 14:14
- Land: Deutschland
Re: Automailer
Hi,
aber sicher...
Ich habe das löschen rausgenommen und ganz am Schluss ein verschieben eingebaut, einzige kleine Einschränkung, wenn man als Beispiel wie folgt verschieben will c:\Dateien\ nach c:\Dateien\Backup gibt es eine Fehlermeldung, weil man das Verzeichnis Backup nicht nach Backup verschieben kann...
Da alle anderen Dateien wie gewünscht verschoben werden, war ich jetzt einmal faul und habe kein Errorhandling eingebaut.
aber sicher...
Ich habe das löschen rausgenommen und ganz am Schluss ein verschieben eingebaut, einzige kleine Einschränkung, wenn man als Beispiel wie folgt verschieben will c:\Dateien\ nach c:\Dateien\Backup gibt es eine Fehlermeldung, weil man das Verzeichnis Backup nicht nach Backup verschieben kann...
Da alle anderen Dateien wie gewünscht verschoben werden, war ich jetzt einmal faul und habe kein Errorhandling eingebaut.
Code: Alles auswählen
# Powershell Script um die Dateien in einem Verzeichnis per
# Mail zu versenden und diese danach zu verschieben
# Version 0.2
#
#
# Variablenangaben Aenderungen sollten nur hier notwendig sein
$Pfad = 'c:\Beispiel\'
$PfadMove = 'c:\Backup\'
$Empfaenger ='Empfaenger@example.com'
$Sender = 'Absender@example.com'
$Mailserver = 'mailserver@example.com'
$SMTPBenutzer = 'Anmeldenamen für den Mailserver'
$SMTPKennwort = 'Kennwort für den Mailserver'
$SMTPPort = '587'
# Ab hier sollten keine Aenderungen notwendig sein
#
# Kennwort für den Mailversand zusammenbauen
$SMTPKennwortSec = $SMTPKennwort | ConvertTo-SecureString -AsPlainText -Force
$Anmeldung = New-Object System.Management.Automation.PSCredential -ArgumentList $SMTPBenutzer, $SMTPKennwortSec
# Auslesen des Pfades und Mailversand der Datei
$Data = Get-ChildItem $Pfad
foreach ($Datei in $Data) {
$Betreff = "Es wurde eine Datei mit dem Namen " +$Datei.Name+" versendet"
Send-MailMessage -from $Sender -To $Empfaenger -Subject $Betreff -SmtpServer $Mailserver -Credential $Anmeldung -Port $SMTPPort -UseSsl -Attachments $Datei.FullName
}
Get-ChildItem $Pfad | Move-Item -Destination $PfadMove
Re: Automailer
Jetzt das Ganze noch bitte als Pearlscript oder in php
Nee Spaß, super Arbeit. Auch von mir gibt's ein Danke! Habe was dazu gelernt
Da das Script im Klartext abgespeichert wird, sollte man für eine sichere Arbeitsumgebung sorgen und für den SMTP Server auf gar keinen Fall das Passwort verwenden, was man sonst verwendet.
LG
Nee Spaß, super Arbeit. Auch von mir gibt's ein Danke! Habe was dazu gelernt
Da das Script im Klartext abgespeichert wird, sollte man für eine sichere Arbeitsumgebung sorgen und für den SMTP Server auf gar keinen Fall das Passwort verwenden, was man sonst verwendet.
LG
Re: Automailer
Ich bin offenkundig zu doof dafür Er wirft mir immer eine Fehlermeldung aus: Es wurde kein Parameter gefunden, der dem Parameternamen "Port" entspricht. Ich versteh einfach nicht, wieso?
Re: Automailer
Du bist mitnichten zu doof. Der Powershellmailer braucht keinen Port. Das Script kommuniziert mit dem Server und fragt selber an. So mein Verständnis.
Habe es getestet und folgendes Script läuft bei mir super:
Habe es getestet und folgendes Script läuft bei mir super:
Wie du siehst, habe ich nur die Portangabe gelöscht. Jedoch gilt nach wie vor: Du speicherst dein Passwort im Klartext ab. Deswegen solltest du ein einzigartiges Passwort verwenden und das Script nur in sicherer Umgebung laufen lassen.# Powershell Script um die Dateien in einem Verzeichnis per
# Mail zu versenden und diese danach zu verschieben
# Version 0.2
#
#
# Variablenangaben Aenderungen sollten nur hier notwendig sein
$Pfad = 'c:\Beispiel\'
$PfadMove = 'c:\Backup\'
$Empfaenger ='Empfaenger@example.com'
$Sender = 'Absender@example.com'
$Mailserver = 'mailserver@example.com'
$SMTPBenutzer = 'Anmeldenamen für den Mailserver'
$SMTPKennwort = 'Kennwort für den Mailserver'
# Ab hier sollten keine Aenderungen notwendig sein
#
# Kennwort für den Mailversand zusammenbauen
$SMTPKennwortSec = $SMTPKennwort | ConvertTo-SecureString -AsPlainText -Force
$Anmeldung = New-Object System.Management.Automation.PSCredential -ArgumentList $SMTPBenutzer, $SMTPKennwortSec
# Auslesen des Pfades und Mailversand der Datei
$Data = Get-ChildItem $Pfad
foreach ($Datei in $Data) {
$Betreff = "Es wurde eine Datei mit dem Namen " +$Datei.Name+" versendet"
Send-MailMessage -from $Sender -To $Empfaenger -Subject $Betreff -SmtpServer $Mailserver -Credential $Anmeldung -UseSsl -Attachments $Datei.FullName
}
Get-ChildItem $Pfad | Move-Item -Destination $PfadMove
Re: Automailer
Neue Fehlermeldung: (nachdem ich das Zertifkat installiert habe und da keine Fehlermeldung mehr erschien). Relay not permitted. Wir sind bei Domainfactory. Offenbar versucht das Skript, ohne Anmeldung zu versenden. Kopiert hab ich sicherlich richtig , Benutzername und Passwort sind auch korrekt (bzw. wären sie verkehrt, käme wohl auch eine andere Fehlermeldung). Ich bin mal wieder ratlos?
-
- PLUS-Mitglied
- Beiträge: 677
- Registriert: 8. Okt 2007 14:14
- Land: Deutschland
Re: Automailer
Hi,wolle hat geschrieben:Ich bin offenkundig zu doof dafür Er wirft mir immer eine Fehlermeldung aus: Es wurde kein Parameter gefunden, der dem Parameternamen "Port" entspricht. Ich versteh einfach nicht, wieso?
kann ich mir gerne anschauen, als Mod solltest du meine Mailadresse ja sehen können...
Und nein, da ich nur noch als Hobby hier bin, schaffe ich mir keine Plusmitgliedschaft an, auch wenn ich Fossi da sehr gut verstehe.
Gruß
J
Gesendet von iPad mit Tapatalk
-
- Information
-
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 60 Gäste