errors from esmtp.r from CGI
[1/3] from: eric::ehrichweiss::com at: 2-May-2005 2:38
I'm hoping someone has some insight into this.
I've got a registration web form/script that sends email to the
registree with a validation link via a localhost smtp server. When I
decided that I didn't just want an outgoing smtp server but also
incoming, I decided on MailEnable(XP) because it's very powerful, free,
and what it cannot do, REBOL can. Anyway, to use it I discovered that I
needed to authenticate because for some reason my script doesn't show up
as being on localhost and it has relay restrictions about that. So I got
esmtp.r and esend.r which works fine in every case except from my cgi
rebol script that handles the validation...here is the trace/net:
************************************************************************
Net-log: ["Opening tcp for" esmtp]
Net-log: [none "220"]
Net-log: {220 www.mysite.com ESMTP MailEnable Service, Version: 1.8--
ready at 05/01/05 22:31:28}
Net-log: [["EHLO" system/network/host] "250"]
Net-log: {250-www.mysite.com [127.0.0.1], this server offers 4 extensions}
Net-log: "250-AUTH LOGIN"
Net-log: "250-SIZE 5120000"
Net-log: "250-HELP"
Net-log: "250 AUTH=LOGIN"
Net-log: ["AUTH LOGIN" "334"]
Net-log: "334 VXNlcm5hbWU6"
Net-log: [(enbase/base port/user 64) "334"] ** User Error: Server error:
tcp 501 Error decoding Username parameter. ** Near: smtp-port: open
[scheme: 'esmtp] if email?
************************************************************************
If it matters, I have used both esend and esend/header with the same
results: it will work from the console but not from the cgi. And I have
the username/pass stored inside esend so that it can work without
requiring me to type in the authentication.(it'll be encrypted, don't
worry).
Any reason the username would ONLY have issues inside a script called
with -cs? Would the username info be clobbered simply because it was
called this way? How can I easily find out if there are clashing variables?
Much thanks for any insight.
[2/3] from: eric::ehrichweiss::com at: 2-May-2005 12:44
Well in desperation I decided that I would just get my script to telnet
into my mailserver to get the job done since I could do it "the old
fashioned way" and while researching what that would require I
discovered a post on the ESMTP.r that solved the authentication problems.
It said to not use ESMTP.r(heh) and to use system/schemes/smtp/user:
enbase/base "myusername" 64, etc. but now it won't let me add my custom
header of "Registration System <[reg--mysite--com]>" because it keeps
putting "<>" around that part of the header giving me "<Registration
System <[reg--mysite--com]>>". It works fine if I just put "[reg--mysite--com]".
Any way to stop that from happening?
Eric Haddix wrote:
[3/3] from: gchiu::compkarori::co::nz at: 3-May-2005 7:25
Eric Haddix wrote.. apparently on 2-May-2005/2:38:35-4:00
>I'm hoping someone has some insight into this.
>Net-log: [(enbase/base port/user 64) "334"] ** User Error: Server error:
>tcp 501 Error decoding Username parameter. ** Near: smtp-port: open
>[scheme: 'esmtp] if email?
>************************************************************************
I'm guessing that you haven't set up the network correctly for the cgi script and so
the username is not defined.
Try probing the value of system/user
If system/user/name is none, set it to the esmtp username.
--
Graham Chiu
http://www.compkarori.com/cerebrus
http://www.compkarori.com/rebolml