SMTP_Result Problem

Hints, tips and tricks for newbies

Moderators: Dorian (MJT support), JRL

Post Reply
prolZ
Newbie
Posts: 10
Joined: Sun Oct 24, 2004 4:29 pm

SMTP_Result Problem

Post by prolZ » Tue Jan 04, 2005 2:11 pm

CapsOff
//Wenn Sendedatei vorhanden
Change Directory>c:\MacroScheduler
IfFileExists>c:\Test1\diehl-mex.dat,MailSenden
Goto>KeineDateiDa

Label>MailSenden
Let>smtp=IP
Let>fromemail=[email protected]
//Let>fromemail=[email protected]
Let>mailname=xxx
Let>toemail=xxx
Let>subject=
//Let>msg=
Let>attach=c:\Test1\diehl-mex.dat
SMTPSendMail>toemail,smtp,fromemail,mailname,subject,msg,attach

If>SMTP_RESULT=250 Ok Data accepted,Fehlerhaft,Erfolgreich
Label>Fehlerhaft
Let>Fehler=%SMTP_RESULT%
GetDate>date
GetTime>time
WriteLn>x:\ltalk\macrolog\MS-DMEX.err,SMTP_RESULT,Fehlerhaft am %date% um %time% %SMTP_RESULT%
Goto>Ende

Label>Erfolgreich
GoTo>Verschieben

Label>Verschieben
FileDate>c:\Test1\diehl-mex.dat,MyFileDate
Day>Tag
Month>Monat
Year>Jahr
Min>Minuten
Hour>Stunden
MoveFile>c:\Test1\diehl-mex.dat,c:\Test2\diehl-mex%Jahr%%Monat%%Tag%%Stunden%%Minuten%.dat
Goto>Ende

Label>KeineDateiDa
//Einsprung wenn keine Datei vorhanden
Label>Ende

Hallo,
oben sieht ihr meinen Quellcode. Ich habe hier dennoch ein Problem und zwar wenn ich die Datei verschicke, dies erfolgreich war, dann sollte er mir die Datei in ein anderes Verzeichnis verschieben mit der Formatierung YYYYMMDD//HHMM.
Dies funktioniert nur, wenn ich das SMTP_Result auf Remark setze! Ist dies nicht der Fall dann lässt er die Datei im ersten der beiden Verzeichnisen stehen und führt keine Formatierung durch. Ich benötige aber das SMTP_Result für die Bestätigung das die Datei erfolgreich verschickt worden ist.

-->Ist vielleicht meine Label //Setzung falsch....???

Oder wofür ist dieses SMTP_Result zuständig???

Er soll mir ja dann in die .log Datei einen exakten Bericht über die Durchführung des Skriptes aufzeigen......

Ich hoffe es kann mir jemand helfen, der sich damit auskennt und die gleichen Probleme gehabt hat.

THX im Voraus!! ;-)

prolZ_1

Version

Post by prolZ_1 » Tue Jan 04, 2005 2:56 pm

Ich möchte noch etwas hinzufügen:

Dieser Code funktioniert im Macro Scheduler 6 einwandfrei, doch bei der Verwendung von Version 7.3 springt er beim Debug-Prozess automatisch auf das Label fehlerhaft //was ich nicht verstehe, weil die Datei via e.Mail verschickt worden ist.

Danke.

User avatar
support
Automation Wizard
Posts: 1450
Joined: Sat Oct 19, 2002 4:38 pm
Location: London
Contact:

Post by support » Tue Jan 04, 2005 4:26 pm

Position>250,SMTP_RESULT,1,rp
If>rp>0,success,failure
MJT Net Support
[email protected]

User avatar
Bob Hansen
Automation Wizard
Posts: 2475
Joined: Tue Sep 24, 2002 3:47 am
Location: Salem, New Hampshire, US
Contact:

Post by Bob Hansen » Wed Jan 05, 2005 12:18 am

From the Help on SMTP:
If successful the value will contain the result code 250. Otherwise it will contain the appropriate error message.
From the previous message from Support:
If>rp>0,success,failure
These do not appear to be consistent with one another. I have always checked for 250. Apparently any error code > 0 is successful? If true, suggest modifying the Help notes.
Hope this was helpful..................good luck,
Bob
A humble man and PROUD of it!

User avatar
support
Automation Wizard
Posts: 1450
Joined: Sat Oct 19, 2002 4:38 pm
Location: London
Contact:

Post by support » Wed Jan 05, 2005 10:42 am

I said:
Position>250,SMTP_RESULT,1,rp
If>rp>0,success,failure
The help says:
The result of the sendmail operation is placed into the variable SMTP_RESULT. The format of this response depends on the SMTP server being communicated with. If successful the value will contain the result code 250. Otherwise it will contain the appropriate error message.
How is this inconsistent? SMTPSendMail will return the code and message returned by the mail server. Assuming the mail server complies with the SMTP RFC specification, 250 will always indicate that the email was successfully queued for delivery. Therefore my code snippet above checks to see if 250 is contained within the result and if so jumps to success, and if not, to failure.

I have checked the help file and can see nothing inconsistent with this.
MJT Net Support
[email protected]

Guest

Post by Guest » Wed Jan 05, 2005 4:30 pm

Position>substring,string,start,result[,relative]

Returns the starting position of a substring in a string. The search commences at the position specified in start. If found the starting position of the substring is returned in the result variable. If no match is found this value will be zero.

User avatar
support
Automation Wizard
Posts: 1450
Joined: Sat Oct 19, 2002 4:38 pm
Location: London
Contact:

Post by support » Wed Jan 05, 2005 4:54 pm

Absolutely. So if 250 is in SMTP_RESULT the value returned will be greater than 0. Hence:

If>rp>0,success,failure
MJT Net Support
[email protected]

User avatar
Bob Hansen
Automation Wizard
Posts: 2475
Joined: Tue Sep 24, 2002 3:47 am
Location: Salem, New Hampshire, US
Contact:

Post by Bob Hansen » Thu Jan 06, 2005 1:01 am

:oops: My mistake.....sorry about that.....too many hours, too many languages. :oops:

I did a quick reading and thought that rp was the error code, not the position of 250. That led me to my comment about inconsistency.

Thanks for the wake-up call. :roll:
Hope this was helpful..................good luck,
Bob
A humble man and PROUD of it!

prolZ
Newbie
Posts: 10
Joined: Sun Oct 24, 2004 4:29 pm

prolZ_1

Post by prolZ » Fri Jan 07, 2005 12:39 pm

Hello,

thank you very much for the answer.

It was very helpfull.

BYE.

Post Reply
Sign up to our newsletter for free automation tips, tricks & discounts