Schrift
[thread]4347[/thread]

Net::SMTP: kann kein Datum angeben (Seite 2)



<< |< 1 2 >| >> 20 Einträge, 2 Seiten
Oesi50
 2004-05-17 20:34
#38131 #38131
User since
2004-05-15
33 Artikel
BenutzerIn
[default_avatar]
ja stimmt, mx4.mail.yahoo.de liefert bei nicht yahoo accounts:
550 relaying denied for <xxx@xxx.de>

Mit smtp.mail.yahoo.de kann man von nicht-yahoo-email an nicht-yahoo-email senden, aber nur mit auth($name,$pw) und das Datum kommt auch mit.

Received: from unknown (HELO localhost.localdomain) (zzzz@nn.nnn.nnn.nnn with login)
by smtp106.mail.sc5.yahoo.com with SMTP; 17 May 2004 16:30:26 -0000
Subject: Betreff
To: xxx@xxx.de
From: yy@yyy.com
Date: Mon, 17 May 2003 13:41 +0200
Message-Id: <20040517163027.B55709BF1D@fff.bbbb.rrrr.net>\n\n

<!--EDIT|Oesi50|1084811933-->
renee
 2004-05-17 20:44
#38132 #38132
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
+0200 ist die Zeitzone, die Greenwich um 2 Stunden voraus ist (müsste Warschau oder so sein *schulterzuck*)... Wir sind +0100!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Oesi50
 2004-05-17 21:08
#38133 #38133
User since
2004-05-15
33 Artikel
BenutzerIn
[default_avatar]
@quetzalcoatl

Mir ist an Deinem Mitschnitt noch was aufgefallen.

To: yyyyyyy\@yahoo.de..Subject: Hallo..Date: Mon, 17 May 2004 16:41 +0200....TEST.......

Was sind das für Zeichen hinter Hallo und yahoo.de? Wenn es zwei \n sind, dann liegt es daran, dass mit einer leeren Zeile der Header beendet wird. Du solltest aus FROM,TO,SUBJECT alle Steuerzeichen entfernen, bevor Du mailst.
Der an Net::SMTP übergebene Text sollte so aussehen:
----------------------------------------
Subject: Betreff\n
To: yy@yyy.com\n
From: xxx@xxx.de\n
Date: Mon, 17 May 2003 13:41 +0200\n
\n
Test\n
\n
----------------------------------------\n\n

<!--EDIT|Oesi50|1084814021-->
Oesi50
 2004-05-17 21:33
#38134 #38134
User since
2004-05-15
33 Artikel
BenutzerIn
[default_avatar]
Wo und wie wird $empfaenger,$absender und $betreff gefüllt? Vielleicht kommt es daher.

Das komplette Script, mit dem ich getestet habe:
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
#!/usr/bin/perl

use Net::SMTP;

$empfaenger = 'xxxxx@yahoo.de';
$absender = 'yyyy@yahoo.de';
$betreff = 'Betreff';
$user = 'username';
$pw = 'userpw';

# $smtp = Net::SMTP->new('mx4.mail.yahoo.com');
$smtp = Net::SMTP->new('smtp.mail.yahoo.com');

$smtp->auth($user, $pw);

$smtp->mail($absender);
$smtp->to($empfaenger);

$smtp->data();

$smtp->datasend("Subject: $betreff\n");
$smtp->datasend("To: $empfaenger\n");
$smtp->datasend("From: $absender\n");
$smtp->datasend("Date: Mon, 17 May 2003 13:41 +0200\n");
$smtp->datasend("\n");
$smtp->datasend("Test\n");
$smtp->datasend("\n");

$smtp->dataend();

$smtp->quit;


Es kam alles so an, wie es sollte.\n\n

<!--EDIT|Oesi50|1084816057-->
renee
 2004-05-17 16:22
#38135 #38135
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Kann es sein, dass erst das Datum validiert wird??
Dann müsste Deine Date:-Zuweisung anders aussehen:
Code: (dl )
  $smtp->datasend("Date: Mon, 17 May 03 13:41:00 +0100\n");


Ich weiß aber nicht, ob es damit zusammenhängt...

hier ein Auszug aus RFC0822:
Quote
5.  DATE AND TIME SPECIFICATION

    5.1.  SYNTAX

    date-time   =  [ day "," ] date time        ; dd mm yy
                                                ;  hh:mm:ss zzz

    day         =  "Mon"  / "Tue" /  "Wed"  / "Thu"
                /  "Fri"  / "Sat" /  "Sun"

    date        =  1*2DIGIT month 2DIGIT        ; day month year
                                                ;  e.g. 20 Jun 82

    month       =  "Jan"  /  "Feb" /  "Mar"  /  "Apr"
                /  "May"  /  "Jun" /  "Jul"  /  "Aug"
                /  "Sep"  /  "Oct" /  "Nov"  /  "Dec"

    time        =  hour zone                    ; ANSI and Military

    hour        =  2DIGIT ":" 2DIGIT [":" 2DIGIT]
                                                ; 00:00:00 - 23:59:59

    zone        =  "UT"  / "GMT"                ; Universal Time
                                                ; North American : UT
                /  "EST" / "EDT"                ;  Eastern:  - 5/ - 4
                /  "CST" / "CDT"                ;  Central:  - 6/ - 5
                /  "MST" / "MDT"                ;  Mountain: - 7/ - 6
                /  "PST" / "PDT"                ;  Pacific:  - 8/ - 7
                /  1ALPHA                       ; Military: Z = UT;
                                                ;  A:-1; (J not used)
                                                ;  M:-12; N:+1; Y:+12
                / ( ("+" / "-") 4DIGIT )        ; Local differential
                                                ;  hours+min. (HHMM)
\n\n

<!--EDIT|renee|1084797130-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
quetzalcoatl
 2004-05-17 18:07
#38136 #38136
User since
2004-04-01
51 Artikel
BenutzerIn
[default_avatar]
Danke Oesi50 -

leider auch kein Erfolg - ich verstehs überhaupt nicht - da ich mit einem Netzwerksniffer nachgesehen hab und er schickt die mail ordnungsgemäß raus! :( wo ladet die blos!

Hier mal der ganze mail teil:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    $smtp->mail($absender);
   $smtp->to($empfaenger);

   $smtp->data();
   
   $smtp->datasend("Subject: $betreff\n");
   $smtp->datasend("To: $empfaenger\n");
   $smtp->datasend("From: $absender\n");
   $smtp->datasend("Date: Mon, 17 May 2003 13:41 +0200\n");
   $smtp->datasend("\n");
   $smtp->datasend("Test\n");
   $smtp->datasend("\n");

   $smtp->dataend();
   $smtp->quit;


gruss,
quetzal\n\n

<!--EDIT|quetzalcoatl|1084803052-->
renee
 2004-05-17 20:03
#38137 #38137
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
probier mal smtp.mail.yahoo.de - ohne eine Ziffer nach smtp...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Oesi50
 2004-05-17 20:51
#38138 #38138
User since
2004-05-15
33 Artikel
BenutzerIn
[default_avatar]
CEST (Central European Summer Time )\n\n

<!--EDIT|Oesi50|1084812818-->
quetzalcoatl
 2004-05-17 22:38
#38139 #38139
User since
2004-04-01
51 Artikel
BenutzerIn
[default_avatar]
könnte schon echt daran liegen - aber was ich dann nicht versteh - wieso es ohne Date funktioniert.

hier mal das skript:
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
use Net::SMTP;
use MIME::Base64;

$usr_name="ichichcih";
$usr_pwd="geheim";
$nachricht = "warnings.txt";
$absender = "ichichcih\@yahoo.de";
$empfaenger = "yyyyyy\@yahoo.de";
$smtpserver = "smtp.mail.yahoo.com";
$hostname = "localhost.tux";

sub mail {

# local var:  
$usr_name = encode_base64("$usr_name",'');
my $usr_pwd = encode_base64("$usr_pwd",'');
my $nachricht = "$nachricht";
my $absender = "$absender";
my $betreff = "test";
my $empfaenger = "$empfaenger";
my $smtpserver = "$smtpserver";
my $hostname = "$hostname";

# SMTP-AUTH:
my $smtp = Net::SMTP->new($smtpserver, Hello => $hostname);
my $result = $smtp->command('AUTH','LOGIN');
my $answer = $smtp->getline();
$result = $smtp->command($usr_name);
$answer = $smtp->getline();
# 334 UGFzc3dvcmQ6
$result = $smtp->command($usr_pwd);
$answer = $smtp->getline();
# 235 Authentication succeeded


# Main:

   $smtp->mail($absender);
   $smtp->to($empfaenger);

   $smtp->data();
   
$smtp->datasend("Subject: $betreff\n");
$smtp->datasend("To: $empfaenger\n");
   $smtp->datasend("From: $absender\n");
$smtp->datasend("Date: Mon, 17 May 2004 20:22 +0200\n");
   $smtp->datasend("\n");
   $smtp->datasend("$nachricht");
 
$smtp->datasend("\n");
   
   $smtp->dataend();
   $smtp->quit;

print "mail send...done\n";

}

mail();

also damit geht's - weiß auch nicht warum.

gruss,
quetzal
quetzalcoatl
 2004-05-17 23:08
#38140 #38140
User since
2004-04-01
51 Artikel
BenutzerIn
[default_avatar]
COOOOL - huhuhu!!! hab's gefunden!

Lustigerweise (versteh ich auch überhaupt nicht) - geht's wenn ich das Datum in eine Variable speichere.

Code: (dl )
1
2
3
4
5
6
7
my $date_r = "Mon, 17 May 2004 21:03 +0200";
....
.....
.....
$smtp->datasend("Date: $date_r\n");
..
....


also verstehen tu ich's nicht - aber was soll's - hauptsache es geht nun.

Vielen vielen Dank an euch!!

Gruss,
quetzal
<< |< 1 2 >| >> 20 Einträge, 2 Seiten



View all threads created 2004-05-17 16:41.