Schrift
[thread]5683[/thread]

email-Versand mit Perl (n.f. Windows und Outlook): Speziell fuer snadra :-)

Leser: 1


<< |< 1 2 >| >> 15 Einträge, 2 Seiten
havi
 2003-09-03 14:59
#83232 #83232
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Code: (dl )
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
#!/usr/bin/perl

use warnings;
use strict;
use Win32::OLE;


my $To = ""; $To = shift;
my $Cc = ""; $Cc = shift;
my $Subject = ""; $Subject = shift;
my $Body = ""; $Body = shift;


($To) or die "USAGE: $0\n <\"To\">\n [<\"Cc\">]\n [<\"Subject\">]\n [<\"Body\">]\n [<\"Attachment 1\">]\n [<\"Attachment 2\">]\n [<\"Attachment ...\">]\n";


my $Email = Win32::OLE->new('Outlook.Application') or die $!;

my $Items = $Email->CreateItem(0) or die $!;


$Items->{'To'} = $To;
$Items->{'CC'} = $Cc;
$Items->{'Subject'} = $Subject;
$Items->{'Body'} = $Body;


foreach my $Attach (@ARGV) {
die $! if not -e $Attach;

my $Attachments = $Items->Attachments();
$Attachments->Add($Attach);
} # foreach


$Items->Send();


my $Error = Win32::OLE->LastError();
print "Email wurde erfolgreich gesendet.\n" if not $Error;
print "Email konnte nicht versendet werden.\n" if $Error;

1;


mfg havi
esskar
 2003-09-03 15:06
#83233 #83233
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Vielleicht sollte
(nur fuer Windows) durch (nur fuer Windows und Outlook) erweitert werden!
havi
 2003-09-03 15:10
#83234 #83234
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
[quote=esskar,03.09.2003, 13:06]Vielleicht sollte
(nur fuer Windows) durch (nur fuer Windows und Outlook) erweitert werden![/quote]
Erledigt!
Dubu
 2003-09-03 15:52
#83235 #83235
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
[quote=havi,03.09.2003, 12:59]
Code: (dl )
1
2
3
4
my $To      = ""; $To      = shift;
my $Cc      = ""; $Cc      = shift;
my $Subject = ""; $Subject = shift;
my $Body    = ""; $Body    = shift;
[/quote]
Das erscheint mir irgendwie nicht sinnvoll so. Erst weist du den Variablen Leerstrings zu und dann direkt Werte aus @ARGV. Wenn @ARGV leer ist, wird den Variablen also trotzdem ein undef zugewiesen, die Leerstrings sind voellig ueberfluessig.

Vielleicht meintest du sowas?
Code (perl): (dl )
1
2
3
my $To = shift || "";
my $Cc = shift || "";
...

Einziger Nachteil: Ein $Subject etc. mit dem Inhalt "0" wird geloescht (durch Leerstring ersetzt).
havi
 2003-09-03 15:55
#83236 #83236
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
[quote=Dubu,03.09.2003, 13:52][quote=havi,03.09.2003, 12:59]
Code: (dl )
1
2
3
4
my $To      = ""; $To      = shift;
my $Cc      = ""; $Cc      = shift;
my $Subject = ""; $Subject = shift;
my $Body    = ""; $Body    = shift;
[/quote]
Das erscheint mir irgendwie nicht sinnvoll so. Erst weist du den Variablen Leerstrings zu und dann direkt Werte aus @ARGV. Wenn @ARGV leer ist, wird den Variablen also trotzdem ein undef zugewiesen, die Leerstrings sind voellig ueberfluessig.

Vielleicht meintest du sowas?
Code (perl): (dl )
1
2
3
my $To = shift || "";
my $Cc = shift || "";
...

Einziger Nachteil: Ein $Subject etc. mit dem Inhalt "0" wird geloescht (durch Leerstring ersetzt).[/quote]
Du hast recht, aber irgendwo hab ich mal folgendes gehört: Ordentliche Programmierer löschen Variablen bevor sie diese benutzen! :-)

mfg havi
esskar
 2003-09-03 15:57
#83237 #83237
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=havi,03.09.2003, 13:55]Ordentliche Programmierer löschen Variablen bevor sie diese benutzen![/quote]
ich bin für 'definieren und initialisieren' anstatt 'löschen'...

dann stimm ich dem voll und ganz zu!!!
havi
 2003-09-04 09:27
#83238 #83238
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
[quote=esskar,03.09.2003, 13:57][quote=havi,03.09.2003, 13:55]Ordentliche Programmierer löschen Variablen bevor sie diese benutzen![/quote]
ich bin für 'definieren und initialisieren' anstatt 'löschen'...

dann stimm ich dem voll und ganz zu!!![/quote]
Richtigstellung des Zitats :-)

Ordentliche Programmierer definieren und initialisieren Variablen bevor sie diese benutzen!
format_c
 2003-09-04 12:33
#83239 #83239
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Das mit dem ARGV erscheint mir jedoch logisch.
Scriptaufruf wie folgt nehme ich an:
Code: (dl )
perl script.pl Empfaänger Kopie betreff Nachicht attachment1 attachment2 attachment3 ...


Die für den Versand wichtigen Daten werden per shift aus dem array geholt und das Element wird dabei gelöscht (nicht undef).

Danach werden die attachments durchlaufen und angehangen.

Also ich finde es eigendlich logisch.

Gruß alex
havi
 2003-09-04 12:36
#83240 #83240
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
[quote=format_c,04.09.2003, 10:33]Das mit dem ARGV erscheint mir jedoch logisch.
Scriptaufruf wie folgt nehme ich an:
Code: (dl )
perl script.pl Empfaänger Kopie betreff Nachicht attachment1 attachment2 attachment3 ...


Die für den Versand wichtigen Daten werden per shift aus dem array geholt und das Element wird dabei gelöscht (nicht undef).

Danach werden die attachments durchlaufen und angehangen.

Also ich finde es eigendlich logisch.

Gruß alex[/quote]
Besser ist es noch so:

Code: (dl )
perl script.pl "Empfaänger" "Kopie" "betreff" "Nachicht" "attachment1" "attachment2" "attachment3" ...


Gruss havi
Strat
 2003-09-04 14:48
#83241 #83241
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=havi,04.09.2003, 07:27]Ordentliche Programmierer definieren und initialisieren Variablen bevor sie diese benutzen![/quote]
Benutzt man eine Variable nicht schon, wenn man sie initialisiert? :-))
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2003-09-03 14:59.