Re: [twsocket] ...SMTPClient
> In addition to my other message, it is so much faster to send > multiple recipients in the To rather then sending them individually. It may be faster, but if your emails are deleted as spam due to 'undisclosed recipients', why send the email in the first place. Angus -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] ...SMTPClient
Hello Angus. In addition to my other message, it is so much faster to send multiple recipients in the To rather then sending them individually. Raymond -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] ...SMTPClient
Hello Arno. Thanks for all this information. I will have to investigate this with my ISP. My use would be with my (hoped-for) customers. I'm planning ahead, as I don't want to have to change the code once I place my product the market. It's definitely not spam, and customers choose whether to receive info messages (e.g updates and new products), and can opt out at any time. Cheers, Raymond -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] ...SMTPClient
> I need to add up to 200,000 names to the ToList, which could be > about 4,000,000 characters. > Can T...SMTPCli handle this quantity? Most ISPs have blocks on their SMTP relay servers to prevent mass mailing by spammers, typically a few hundred or thousand messages a day, after which your account may be blocked. There may also be a limit of 25 to 100 recipients per message. So unless you are sending using your own SMTP relay server, sending 200,000 emails is unlikely to be an issue, you won't be sending any atall. I'm sure there is a limit in the SMTP specs for recipients, but you are more likely to hit an ISP limit first. Also, you may find emails send using BCC are more likely to be detected as spam, it's much better to individually address emails, although still within your ISP limits. This is how my own mass mailer works, written with ICS 15 years ago and hardly touched since. Angus -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] ...SMTPClient
Hello Arno. Thanks for mentioning RcptNameAdd(...). It's parameters are strings. I need to add up to 200,000 names to the ToList, which could be about 4,000,000 characters. As each email address is added to the list, the memory handling might make this become very slow. Can T...SMTPCli handle this quantity? What are the alternative ways? (You mentioned this was the easiest way.) It would be best for me if I could just set one name for the Bcc. Thanks. Raymond Will On 27/01/2013 03:03, Arno Garrels wrote: Raymond Kennington wrote: Hello. One of my developed has been using this component to send messages for 13 years. No problems! Thanks!! Now I am incorporating the code into another project, and I would rather use Bcc instead of cc - because I don't want the receiver to know who else the message is being sent to. Is Blind carbon copy possible with this component? Of course it is. The easiest way is to use method RcptNameAdd(const ToList, CcList, BccList: string) as shown in MailSnd demo in order to specify the recipients. List separator is either ";" or ",". A Bcc recipient simply isn't listed in the email header. Means do neither assign Bcc recipients to property HdrTo nor to HdrCc. -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] ...SMTPClient
Raymond Kennington wrote: > Hello. > > One of my developed has been using this component to send messages > for 13 years. > No problems! Thanks!! > > Now I am incorporating the code into another project, and I would > rather use Bcc instead of cc - because I don't want the receiver to > know who else the message is being sent to. > > Is Blind carbon copy possible with this component? Of course it is. The easiest way is to use method RcptNameAdd(const ToList, CcList, BccList: string) as shown in MailSnd demo in order to specify the recipients. List separator is either ";" or ",". A Bcc recipient simply isn't listed in the email header. Means do neither assign Bcc recipients to property HdrTo nor to HdrCc. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] ...SMTPClient
Hello. One of my developed has been using this component to send messages for 13 years. No problems! Thanks!! Now I am incorporating the code into another project, and I would rather use Bcc instead of cc - because I don't want the receiver to know who else the message is being sent to. Is Blind carbon copy possible with this component? Thanks. Raymond -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] smtpclient inuse with gmail
Darren Doggett wrote: > 530 5.7.0 Must issue a STARTTLS command first. 13sm630074ewy.13 > < 530 5.7.0 Must issue a STARTTLS command first. 13sm630074ewy.13 > > Using my limted knowledge is the problem that the smtpclient > component is not sending the command > STARTLLS, if this is the case then can you please advise me how I > achieve this. You have to use the TSslSmtpCli to send mail to Google. Google mail requires SSL, AFAIK Yahoo as well. Have a look at the SslMailSnd demo in folder SslInternet. Get latest ICS v7 and the OpenSSL libraries here: http://wiki.overbyte.be/wiki/index.php/FAQ#How_to_get_ICS -- Arno Garrels -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] smtpclient inuse with gmail
Hi, I’m new to all this, and was looking for some help/advise with regards to smtpclient. Using the OverbyteIcsMailSnd as a demo app I can’t seem to send emails to gmail. Here is the error log as provided in the demo app Connecting to SMTP server... 220 mx.google.com ESMTP 13sm630074ewy.13 < 220 mx.google.com ESMTP 13sm630074ewy.13 RequestDone Rq=0 Error=0 EHLO dogo > EHLO dogo 250-mx.google.com at your service, [94.30.15.120] < 250-mx.google.com at your service, [94.30.15.120] 250-SIZE 35651584 < 250-SIZE 35651584 250-8BITMIME < 250-8BITMIME 250-STARTTLS < 250-STARTTLS 250-ENHANCEDSTATUSCODES < 250-ENHANCEDSTATUSCODES 250 PIPELINING < 250 PIPELINING RequestDone Rq=10 Error=0 AUTH CRAM-MD5 > AUTH CRAM-MD5 530 5.7.0 Must issue a STARTTLS command first. 13sm630074ewy.13 < 530 5.7.0 Must issue a STARTTLS command first. 13sm630074ewy.13 RequestDone Rq=11 Error=500 Authentication Type could not be determined. Error, stoped All-In-One demo QUIT > QUIT 221 2.0.0 closing connection 13sm630074ewy.13 < 221 2.0.0 closing connection 13sm630074ewy.13 RequestDone Rq=6 Error=0 Using my limted knowledge is the problem that the smtpclient component is not sending the command STARTLLS, if this is the case then can you please advise me how I achieve this. Regards Darren _ Hotmail: Powerful Free email with security by Microsoft. http://clk.atdmt.com/GBL/go/201469230/direct/01/ -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] [SmtpClient] Progress bar ?
Arno Garrels wrote: > However CalculatedMessageSize will have to compose the message > including Base64 encoding of all file attachments in advance which > takes some time (with a 12 MB file attachment it takes approximately > 4 seconds on my computer). Forgot to mention, that the message size could be estimated as well, which would be enough for a progress bar. > > -- > Arno Garrels [TeamICS] > http://www.overbyte.be/eng/overbyte/teamics.html -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] [SmtpClient] Progress bar ?
Jean-Paul Passama wrote: > Has someone any idea to get a progress bar to visualize the sending > progression, as Thunderbird does, while sending a message (with heavy > attachment) ? Since the TSmtpCli encodes all message parts on the fly you cannot know the message size in advance which makes it rather complicated to implement such a feature. When I have some minutes (maybe next weekend) I will add an event OnDataSent(Sender: TObject; BytesSent: Integer); which would trigger whenever a Data line has been sent, and a method CalculatedMessageSize: Int64; to get the correct message size. However CalculatedMessageSize will have to compose the message including Base64 encoding of all file attachments in advance which takes some time (with a 12 MB file attachment it takes approximately 4 seconds on my computer). -- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] [SmtpClient] Progress bar ?
Hi, Has someone any idea to get a progress bar to visualize the sending progression, as Thunderbird does, while sending a message (with heavy attachment) ? Thank you JP Passama -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] SmtpClient and aborting connection
Hello, I finally got it working now by using (and somewhat enhancing) that thread approach. I've left out the cancelling on long lasting connection attempts right now, maybe I add it later and I think I might want to do it on shutdown as well. Greetings Markus -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] SmtpClient and aborting connection
Hello, I#ve a new idea and would like some expert opinions about it before wasting time on it: what if I put the e-mail sending in a seperate thread where the SmptCLient is bound to the thread (execute)? So it would have its own message loop which hopefully wouldn't interfere with the rest of the com-server. The only thing are the test and the other synchronously sending method which should return success or not and shutting down the com-server might be another problem. Btw. and off topic: why is there a initialization method in the automation server you can override but no finalization? So you never know within the com server when it's time to finish/clean up, right? Greetings Markus -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] SmtpClient and aborting connection
Hello, my COM server goes havoc when the e-mail has been sent. If the client calls some simple functions which normally would only read something from the database and return the value they fail instead. Functions which aren't really interdependant or so. I'm wondering now why. It also happens with my printing code as it seems. So my guess now is that it's related that both are (at least this is what I think) within the context of a TWSocket's OnDataAvailable. Could it be that the message handling for the e-mailing etc. can cause this? If yes, how to circumvent this? Greetings Markus -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] SmtpClient and aborting connection
Hello, Wilfried suggested today that I should use a timer. Basically a good idea, but how to do? The com-server's function should send the mail and either return sort of true if successfull or false if not (it actually would return the mail server's address or a empty string if not successfull). How to do this fashion with the timer based approach? Greetings Markus -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] SmtpClient and aborting connection
Hello, I've still or even worse trouble with this e-mail sending. maybe I should explain it more in detail what my environment is and what I want to do. Okay I have this: COM Client -> COM-Server -> ICS SmtpClient | Other application connected via TWSocket (TCP) The com server provides 3 functions for sending e-mails, one is used internally triggered by certain events sent by the other application. The two methods for sending e-mails (one for a testmail for testing the connection) the other for sending something specific shall send the e-mail and return whether this was successfull or not. If the sending takes more that a certain time it shall be aborted and counted as unsuccessfull. Sending is done in a loop over a list possibly containing more that one e-mail server address to that if the first fails the second will be tried etc. After the connect I've this here: t:=GetTickCount; while ((isemail_connection = true) and (mailerror = 0)) and (((GettickCount >= t) and (GetTickCount-t < timeout)) xor ((GettickCount < t) and (t-GetTickCount < timeout))) do begin sleep(10); Application.ProcessMessages; end; if (mailerror <> 0) or (isemail_connection = true) then begin try datenmodul.SmtpCli.CtrlSocket.Close; except end; end else begin try if datenmodul.SmtpCli.Connected then datenmodul.SmtpCli.Quit; except end; It shall wait for either the timeout or the finish of the e-mail sending process. In the OnRequestDone I've nearly 100% identical code to your mail sending excample (the all in one demo) except that the screen output is missing, the case is put into a try/except and the 10004 error won't lead to a abort of the eventhandler. The handler will set the isemail_connection flag when the quit stage is arrived and will set mailerror to the errorcode and leave the handler if there is some error. I also want the com server to handle the communication to that other program (not it's client) and process (at least partially) the data he gets from it. Unfortunatelly he can raise the event which also triggers a mail sending operation. And then I think the trouble starts. I've implemented there another loop which waits if a mail is currently sent on either the completion (because the same function and thus SmtpClient instance) will be user or a timeout. The waiting loop is similar to the one above. If the mailserver can be reached, all seems to be well, but if I give a non reachable one it miserably fails and the COM-server starts to do weired things! Have you any hints for me? I want the mailing to be partially blocking to be able to handle the other communication but timely tell the user whether seinding was ok or not. And what happens if sending takes place and the program get's closed? Greetings Markus -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SmtpClient and aborting connection
Hello Markus, You dont have to loop. Just set a Timer and Connect, that's all. You can disable the Timer in OnSessionConnected. If timer expires just call Abort. When OnSessionClosed is called set a flag. When OnRequestDone is called and session is closed start your next connection (depending on success or not what you can set in in one of the events). --- Rgds, Wilfried [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html http://www.mestdagh.biz -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SmtpClient and aborting connection
> The problem is now that I like to cancel the connect if it takes > too long. Essentially, you have no control over how long connect takes to time out. There are registry settings relating to TCP attempts and retry delays, but messing with them is dangerous and unpredictable, and effects all Windows applications. The default timeout is usually about 40 seconds, if I remember correctly. I always ping servers first before connecting to them, that way you can set a timeout of a few seconds before trying the next one in the list. Ping will not fail if the server is running, but nothing is listening on the port, but then you should get a much shorter timeout. My threaded ping works asynchronously very nicely, you put the actual connection attempt or ping next server code in the event that's called on successful ping or timeout. MagIpLog on the same page illustrates ping before connection, and reconnection on lost connection. http://www.magsys.co.uk/delphi/magics.asp Angus -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] SmtpClient and aborting connection
Hello, I'm using your SmtpClient component for sending e-mails. I'm trying to built in a failover in my application so that if the first configured mail server can't be reached a second etc. will be tried. The problem is now that I like to cancel the connect if it takes too long. timeout:=timeout+text.Count*10; for i := 0 to length(emailservers) - 1 do begin with datenmodul.SmtpCli do begin try // setup e-mail parameters like server and content mailerror:=0; mailerrortext:=''; isemail_connection:=true; Connect; except mailerror:=1; mailerrortext:=ErrorMessage; try datenmodul.SmtpCli.Quit; except end; continue; end; end; // wait for timeout or success t:=GetTickCount; while ((isemail_connection = true) and (mailerror = 0)) and (((GettickCount >= t) and (GetTickCount-t < timeout)) xor ((GettickCount < t) and (t-GetTickCount < timeout))) do begin sleep(10); Application.ProcessMessages; end; // in case of error disconnect asap if (mailerror <> 0) or (isemail_connection = true) then begin try // datenmodul.SmtpCli.Abort; doesn't work better! datenmodul.SmtpCli.CtrlSocket.cose; except end; end else begin try if datenmodul.SmtpCli.Connected then datenmodul.SmtpCli.Abort; except end; break; end; end; The OnRequestDone is nearly your demo code (the output has been disabled and the case has been packed into a try/except block. I do get 10004 errors or "component not ready". It works now since I packed it into try/except blocks but I wonder if this will make further problems. The problems only occur if the first e-mailserver is bot reachable and the connection has to be cancelled. This is in a normal function which makes it blocking for the direct caller but since it's part of a COM-server the COM server could do some things internally while trying to send this e-mail. Greetings Markus PS: somebody should document this component in the wiki, obviously not me! ;-) -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SmtpClient problem on disconnect
I have post a demo in my webserver. If any one want to try it to see the problem and test it with your own SMTP, please download it from: http://www.mcrenox.com.ar/smtptest.zip Remember use SMTP servers with AUTH if possible. thanks David - Original Message - From: "Francois PIETTE" <[EMAIL PROTECTED]> To: "ICS support mailing" Sent: Saturday, November 18, 2006 10:11 AM Subject: Re: [twsocket] SmtpClient problem on disconnect >> Thanks for all, I understand. Today I have tryed with a simple TCP client >> emulating the SMTP protocol manually, and ALL works good, the server is >> closing the connection. But again using the SmtpCli.pas component the >> connection is not closed or OnRequestDone is not fired (this only happens >> when using EHLO with AUTH LOGIN). >> >> Well I will keep trying... > > Use a sniffer such as Ethereal (link available form the links page at > http://www.overbyte.be) to see exactly what happend. You'll see if the > server close the connection and SMTP component miss this close. You'll > also > be able to reproduce the exact same dialog that the SMTP component does > and > see if it result in the same effect at server side. Sometimes bugs are > very > subtule and only a space somewhere can change everything. It may also be > some race condition at server side. The component is working very fast > compared to your manual test. > > -- > Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html > -- > [EMAIL PROTECTED] > http://www.overbyte.be > > > -- > To unsubscribe or change your settings for TWSocket mailing list > please goto http://www.elists.org/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SmtpClient problem on disconnect
> Thanks for all, I understand. Today I have tryed with a simple TCP client > emulating the SMTP protocol manually, and ALL works good, the server is > closing the connection. But again using the SmtpCli.pas component the > connection is not closed or OnRequestDone is not fired (this only happens > when using EHLO with AUTH LOGIN). > > Well I will keep trying... Use a sniffer such as Ethereal (link available form the links page at http://www.overbyte.be) to see exactly what happend. You'll see if the server close the connection and SMTP component miss this close. You'll also be able to reproduce the exact same dialog that the SMTP component does and see if it result in the same effect at server side. Sometimes bugs are very subtule and only a space somewhere can change everything. It may also be some race condition at server side. The component is working very fast compared to your manual test. -- Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SmtpClient problem on disconnect
Thanks for all, I understand. Today I have tryed with a simple TCP client emulating the SMTP protocol manually, and ALL works good, the server is closing the connection. But again using the SmtpCli.pas component the connection is not closed or OnRequestDone is not fired (this only happens when using EHLO with AUTH LOGIN). Well I will keep trying... thanks, David - Original Message - From: "Francois Piette" <[EMAIL PROTECTED]> To: "ICS support mailing" Sent: Friday, November 17, 2006 11:00 AM Subject: Re: [twsocket] SmtpClient problem on disconnect > In my opinion, the servers are not compliant with the standard. Indtead of > tweaking the component, either simply colse the connection yourself or > implement a timeout and close it later if the server don't do it quickly > enough for you. > > Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html > -- > [EMAIL PROTECTED] > Author of ICS (Internet Component Suite, freeware) > Author of MidWare (Multi-tier framework, freeware) > http://www.overbyte.be > > - Original Message - > From: "David A. G." <[EMAIL PROTECTED]> > To: "TWsocket" > Sent: Friday, November 17, 2006 12:05 AM > Subject: [twsocket] SmtpClient problem on disconnect > > >> Hello all: >> >> I'm having problems SmtpCli where OnRequestDone function is not fired > after >> sending QUIT command because the SMTP server is not closing the >> connection!!. It occurs only when using EHLO command and AUTH LOGIN >> authentication. I have tryed with 2 servers with same results (big linux >> servers). >> >> To solve that, I have changed SmtpProt.pas: >> >> FROM: >> >> procedure TCustomSmtpClient.NextExecAsync; >> ... >> ... >> if Assigned(FDoneAsync) then >> FDoneAsync >> else if (FRequestType <> smtpQuit) or (FConnected = FALSE) then >> TriggerRequestDone(FRequestResult) >> else begin >> { We have to wait until remote host close connection before } >> { calling TriggerRequestDone. See WSocketSessionClosed. } >> end; >> end; >> >> >> TO: >> >> procedure TCustomSmtpClient.NextExecAsync; >> ... >> ... >> if Assigned(FDoneAsync) then >> FDoneAsync >> else >> TriggerRequestDone(FRequestResult) >> end; >> end; >> ...then in the OnRequestDone I can close connection (if necessary) by >> calling CloseDelayed. >> >> >> any idea?? >> >> thanks in advance, >> David >> -- >> To unsubscribe or change your settings for TWSocket mailing list >> please goto http://www.elists.org/mailman/listinfo/twsocket >> Visit our website at http://www.overbyte.be > > -- > To unsubscribe or change your settings for TWSocket mailing list > please goto http://www.elists.org/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SmtpClient problem on disconnect
> We've been talking this topic many times. > The RFCs say that the server has to close the connection, so if > a server doesn't close the connection on receiving command QUIT > the server is buggy. You can handle those server-side bugs with a simple > command timeout, in real applications some a timeout mechanism is required > anyway. I agree with Arno: breaking the connection after the QUIT command without closing it normally, breaks RFC compliancy and is a bug. Sometimes it is a good idea to modify the components to handle common idiosyncracies of servers that are common, in order to make it more robust. However, in this case, a simple timeout event, as recommended, would correct your problem; and since it is a good idea to implement a command timeout on networking applications anyway, it is not necessary to modify the component to handle this issue. -dZ. -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SmtpClient problem on disconnect
In my opinion, the servers are not compliant with the standard. Indtead of tweaking the component, either simply colse the connection yourself or implement a timeout and close it later if the server don't do it quickly enough for you. Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] Author of ICS (Internet Component Suite, freeware) Author of MidWare (Multi-tier framework, freeware) http://www.overbyte.be - Original Message - From: "David A. G." <[EMAIL PROTECTED]> To: "TWsocket" Sent: Friday, November 17, 2006 12:05 AM Subject: [twsocket] SmtpClient problem on disconnect > Hello all: > > I'm having problems SmtpCli where OnRequestDone function is not fired after > sending QUIT command because the SMTP server is not closing the > connection!!. It occurs only when using EHLO command and AUTH LOGIN > authentication. I have tryed with 2 servers with same results (big linux > servers). > > To solve that, I have changed SmtpProt.pas: > > FROM: > > procedure TCustomSmtpClient.NextExecAsync; > ... > ... > if Assigned(FDoneAsync) then > FDoneAsync > else if (FRequestType <> smtpQuit) or (FConnected = FALSE) then > TriggerRequestDone(FRequestResult) > else begin > { We have to wait until remote host close connection before } > { calling TriggerRequestDone. See WSocketSessionClosed. } > end; > end; > > > TO: > > procedure TCustomSmtpClient.NextExecAsync; > ... > ... > if Assigned(FDoneAsync) then > FDoneAsync > else > TriggerRequestDone(FRequestResult) > end; > end; > ...then in the OnRequestDone I can close connection (if necessary) by > calling CloseDelayed. > > > any idea?? > > thanks in advance, > David > -- > To unsubscribe or change your settings for TWSocket mailing list > please goto http://www.elists.org/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SmtpClient problem on disconnect
David A. G. wrote: > Hello all: > > I'm having problems SmtpCli where OnRequestDone function is not fired > after sending QUIT command because the SMTP server is not closing the > connection!!. We've been talking this topic many times. The RFCs say that the server has to close the connection, so if a server doesn't close the connection on receiving command QUIT the server is buggy. You can handle those server-side bugs with a simple command timeout, in real applications some a timeout mechanism is required anyway. Arno Garrels > TO: > > procedure TCustomSmtpClient.NextExecAsync; > ... > ... > if Assigned(FDoneAsync) then > FDoneAsync > else > TriggerRequestDone(FRequestResult) > end; > end; Request done has to be triggered either when the request has been served or an error occured, I thing your change breaks the concept of the component. --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] SmtpClient problem on disconnect
Hello all: I'm having problems SmtpCli where OnRequestDone function is not fired after sending QUIT command because the SMTP server is not closing the connection!!. It occurs only when using EHLO command and AUTH LOGIN authentication. I have tryed with 2 servers with same results (big linux servers). To solve that, I have changed SmtpProt.pas: FROM: procedure TCustomSmtpClient.NextExecAsync; ... ... if Assigned(FDoneAsync) then FDoneAsync else if (FRequestType <> smtpQuit) or (FConnected = FALSE) then TriggerRequestDone(FRequestResult) else begin { We have to wait until remote host close connection before } { calling TriggerRequestDone. See WSocketSessionClosed. } end; end; TO: procedure TCustomSmtpClient.NextExecAsync; ... ... if Assigned(FDoneAsync) then FDoneAsync else TriggerRequestDone(FRequestResult) end; end; ...then in the OnRequestDone I can close connection (if necessary) by calling CloseDelayed. any idea?? thanks in advance, David -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SMTPClient
> Means 550 Relaying denied This means the server do not accept your mail because on condition is not met: 1) The recipient is not in the server's domain 2) The sender is not in the server's domain If one of those conditions is not met, most SMTP servers do not accept the mail. This is an anti-spam measure. There is nothing you can do from the component. Contact the postmaster for the server and ask him either to allow you to send email (probably based on your IP address or by authenticating using an account he will create for you). Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] Author of ICS (Internet Component Suite, freeware) Author of MidWare (Multi-tier framework, freeware) http://www.overbyte.be - Original Message - From: "Arno Garrels" <[EMAIL PROTECTED]> To: "ICS support mailing" Sent: Friday, September 08, 2006 9:40 AM Subject: Re: [twsocket] SMTPClient > lalin wrote: > > The error number is always 550. In IIS, it appears a connection but it > > doesn't send anything. > > Means 550 Relaying denied > > You probably need to authenticate first. > Play with the demo and try to understand how it is done. > > --- > Arno Garrels [TeamICS] > http://www.overbyte.be/eng/overbyte/teamics.html > > > > > Regards. > > > > - Original Message - > > From: "Francois PIETTE" <[EMAIL PROTECTED]> > > To: "ICS support mailing" > > Sent: Thursday, September 07, 2006 8:07 PM > > Subject: Re: [twsocket] SMTPClient > > > > > >> You should, as it is done in the demo MailSnd, display the messages > >> from the server and also check for errors. Reading the messages and > >> errors, you'll understand what's going wrong. > >> > >> -- > >> Contribute to the SSL Effort. Visit > >> http://www.overbyte.be/eng/ssl.html -- > >> [EMAIL PROTECTED] > >> http://www.overbyte.be > >> > >> > >> - Original Message - > >> From: "lalin" <[EMAIL PROTECTED]> > >> To: "ICS support mailing" > >> Sent: Thursday, September 07, 2006 4:46 PM > >> Subject: Re: [twsocket] SMTPClient > >> > >> > >>> Hello, > >>>No, I hadn't seen your answer. Thanks for response once. > >>>Now, I use the asynchronous model, when I send the mail, it > >>> executes this code: > >>> Smtp1.port := 'smtp'; > >>> Smtp1.FromName := name; > >>> Smtp1.HdrFrom := mail1; > >>> Smtp1.HdrTo:= destino; > >>> Smtp1.RcptName.add(destino); > >>> Smtp1.RcptName.add(mail2); > >>> Smtp1.HdrSubject := titulo; > >>> Smtp1.MailMessage := mensaje; > >>> if (not Smtp1.connected) then begin > >>>Smtp1.Connect; > >>> end; > >>> > >>>I have created a OnRequestDone method: > >>>Display('RequestDone Rq=' + IntToStr(Ord(RqType))); > >>>case RqType of > >>>smtpConnect: begin > >>> Smtp1.Helo; > >>> Display('Helo!'); > >>>end; > >>>smtpHelo: begin > >>> Smtp1.MailFrom; > >>> Display('Mailfrom!'); > >>>end; > >>>smtpMailFrom: begin > >>> Smtp1.RcptTo; > >>> Display('RcptTo!'); > >>>end; > >>>smtpRcptTo: begin > >>> Smtp1.Data; > >>> Display('Data!'); > >>>end; > >>>smtpData: begin > >>> Smtp1.Quit; > >>> Display('Quit!'); > >>>end; > >>>smtpQuit: > >>> Display('Done!'); > >>>end; > >>> > >>>The result is: > >>> > >>> RequestDone Rq=0 > >>> Helo! > >>> RequestDone Rq=1 > >>> Mailfrom! > >>> RequestDone Rq=2 > >>> RcptTo! > >>> RequestDone Rq=4 > >>> Data! > >>> RequestDone Rq=5 > >>> Quit! > >>> RequestDone Rq=6 > >>> Done! > >>> > >>>But the mail isn't received. I have tested the smtp server > >>> 127.0.0.1 and > >>> the domain in IIS console. > >>>What can it be? > >>> > >>> Regards. > >>> > >>> - Original Message - > >>&g
Re: [twsocket] SMTPClient
Ok, Thanks. - Original Message - From: "Arno Garrels" <[EMAIL PROTECTED]> To: "ICS support mailing" Sent: Friday, September 08, 2006 9:40 AM Subject: Re: [twsocket] SMTPClient > lalin wrote: > > The error number is always 550. In IIS, it appears a connection but it > > doesn't send anything. > > Means 550 Relaying denied > > You probably need to authenticate first. > Play with the demo and try to understand how it is done. > > --- > Arno Garrels [TeamICS] > http://www.overbyte.be/eng/overbyte/teamics.html > > > > > Regards. > > > > - Original Message - > > From: "Francois PIETTE" <[EMAIL PROTECTED]> > > To: "ICS support mailing" > > Sent: Thursday, September 07, 2006 8:07 PM > > Subject: Re: [twsocket] SMTPClient > > > > > >> You should, as it is done in the demo MailSnd, display the messages > >> from the server and also check for errors. Reading the messages and > >> errors, you'll understand what's going wrong. > >> > >> -- > >> Contribute to the SSL Effort. Visit > >> http://www.overbyte.be/eng/ssl.html -- > >> [EMAIL PROTECTED] > >> http://www.overbyte.be > >> > >> > >> - Original Message - > >> From: "lalin" <[EMAIL PROTECTED]> > >> To: "ICS support mailing" > >> Sent: Thursday, September 07, 2006 4:46 PM > >> Subject: Re: [twsocket] SMTPClient > >> > >> > >>> Hello, > >>>No, I hadn't seen your answer. Thanks for response once. > >>>Now, I use the asynchronous model, when I send the mail, it > >>> executes this code: > >>> Smtp1.port := 'smtp'; > >>> Smtp1.FromName := name; > >>> Smtp1.HdrFrom := mail1; > >>> Smtp1.HdrTo:= destino; > >>> Smtp1.RcptName.add(destino); > >>> Smtp1.RcptName.add(mail2); > >>> Smtp1.HdrSubject := titulo; > >>> Smtp1.MailMessage := mensaje; > >>> if (not Smtp1.connected) then begin > >>>Smtp1.Connect; > >>> end; > >>> > >>>I have created a OnRequestDone method: > >>>Display('RequestDone Rq=' + IntToStr(Ord(RqType))); > >>>case RqType of > >>>smtpConnect: begin > >>> Smtp1.Helo; > >>> Display('Helo!'); > >>>end; > >>>smtpHelo: begin > >>> Smtp1.MailFrom; > >>> Display('Mailfrom!'); > >>>end; > >>>smtpMailFrom: begin > >>> Smtp1.RcptTo; > >>> Display('RcptTo!'); > >>>end; > >>>smtpRcptTo: begin > >>> Smtp1.Data; > >>> Display('Data!'); > >>>end; > >>>smtpData: begin > >>> Smtp1.Quit; > >>> Display('Quit!'); > >>>end; > >>>smtpQuit: > >>> Display('Done!'); > >>>end; > >>> > >>>The result is: > >>> > >>> RequestDone Rq=0 > >>> Helo! > >>> RequestDone Rq=1 > >>> Mailfrom! > >>> RequestDone Rq=2 > >>> RcptTo! > >>> RequestDone Rq=4 > >>> Data! > >>> RequestDone Rq=5 > >>> Quit! > >>> RequestDone Rq=6 > >>> Done! > >>> > >>>But the mail isn't received. I have tested the smtp server > >>> 127.0.0.1 and > >>> the domain in IIS console. > >>>What can it be? > >>> > >>> Regards. > >>> > >>> - Original Message - > >>> From: "Francois PIETTE" <[EMAIL PROTECTED]> > >>> To: "ICS support mailing" > >>> Sent: Wednesday, September 06, 2006 6:08 PM > >>> Subject: Re: [twsocket] SMTPClient > >>> > >>> > >>>> You already asked your question one week ago. Did you see my > >>>> answer ? > >>>> > >>>> Here it is again: > >>>>>>> produces "SMTP component not ready". Can you help me? > >>>> > >>>> As another message already said, you are trying to use an > >>>> asynchronous (non-blocking) component as a synchronous co
Re: [twsocket] SMTPClient
lalin wrote: > The error number is always 550. In IIS, it appears a connection but it > doesn't send anything. Means 550 Relaying denied You probably need to authenticate first. Play with the demo and try to understand how it is done. --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html > Regards. > > - Original Message - > From: "Francois PIETTE" <[EMAIL PROTECTED]> > To: "ICS support mailing" > Sent: Thursday, September 07, 2006 8:07 PM > Subject: Re: [twsocket] SMTPClient > > >> You should, as it is done in the demo MailSnd, display the messages >> from the server and also check for errors. Reading the messages and >> errors, you'll understand what's going wrong. >> >> -- >> Contribute to the SSL Effort. Visit >> http://www.overbyte.be/eng/ssl.html -- >> [EMAIL PROTECTED] >> http://www.overbyte.be >> >> >> - Original Message - >> From: "lalin" <[EMAIL PROTECTED]> >> To: "ICS support mailing" >> Sent: Thursday, September 07, 2006 4:46 PM >> Subject: Re: [twsocket] SMTPClient >> >> >>> Hello, >>>No, I hadn't seen your answer. Thanks for response once. >>>Now, I use the asynchronous model, when I send the mail, it >>> executes this code: >>> Smtp1.port := 'smtp'; >>> Smtp1.FromName := name; >>> Smtp1.HdrFrom := mail1; >>> Smtp1.HdrTo:= destino; >>> Smtp1.RcptName.add(destino); >>> Smtp1.RcptName.add(mail2); >>> Smtp1.HdrSubject := titulo; >>> Smtp1.MailMessage := mensaje; >>> if (not Smtp1.connected) then begin >>>Smtp1.Connect; >>> end; >>> >>>I have created a OnRequestDone method: >>>Display('RequestDone Rq=' + IntToStr(Ord(RqType))); >>>case RqType of >>>smtpConnect: begin >>> Smtp1.Helo; >>> Display('Helo!'); >>>end; >>>smtpHelo: begin >>> Smtp1.MailFrom; >>> Display('Mailfrom!'); >>>end; >>>smtpMailFrom: begin >>> Smtp1.RcptTo; >>> Display('RcptTo!'); >>>end; >>>smtpRcptTo: begin >>> Smtp1.Data; >>> Display('Data!'); >>>end; >>>smtpData: begin >>> Smtp1.Quit; >>> Display('Quit!'); >>> end; >>>smtpQuit: >>> Display('Done!'); >>>end; >>> >>>The result is: >>> >>> RequestDone Rq=0 >>> Helo! >>> RequestDone Rq=1 >>> Mailfrom! >>> RequestDone Rq=2 >>> RcptTo! >>> RequestDone Rq=4 >>> Data! >>> RequestDone Rq=5 >>> Quit! >>> RequestDone Rq=6 >>> Done! >>> >>>But the mail isn't received. I have tested the smtp server >>> 127.0.0.1 and >>> the domain in IIS console. >>>What can it be? >>> >>> Regards. >>> >>> - Original Message - >>> From: "Francois PIETTE" <[EMAIL PROTECTED]> >>> To: "ICS support mailing" >>> Sent: Wednesday, September 06, 2006 6:08 PM >>> Subject: Re: [twsocket] SMTPClient >>> >>> >>>> You already asked your question one week ago. Did you see my >>>> answer ? >>>> >>>> Here it is again: >>>>>>> produces "SMTP component not ready". Can you help me? >>>> >>>> As another message already said, you are trying to use an >>>> asynchronous (non-blocking) component as a synchronous component. >>>> Either revise you way >>>> of doing thing or use the "sync" version of the component. >>>> >>>> It is better to revise your programming model and use the >>>> asynchronous model. That is use the events. Look at MailSnd sample >>>> program delivered with ICS. Look at the code behind "All In One" >>>> button which show how to use the >>>> events to chain all operations required to send emails. >>>> >>>> Once you had a look at the sample, don't hesitate to ask for more >>>> questions. >>>> >>>> -- >>>> Contribute to the SSL Effort. Visit >>>> http://www.overbyte.be/eng/ssl.html -- >>>> [EMAIL PROT
Re: [twsocket] SMTPClient
The error number is always 550. In IIS, it appears a connection but it doesn't send anything. Regards. - Original Message - From: "Francois PIETTE" <[EMAIL PROTECTED]> To: "ICS support mailing" Sent: Thursday, September 07, 2006 8:07 PM Subject: Re: [twsocket] SMTPClient > You should, as it is done in the demo MailSnd, display the messages from the > server and also check for errors. Reading the messages and errors, you'll > understand what's going wrong. > > -- > Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html > -- > [EMAIL PROTECTED] > http://www.overbyte.be > > > - Original Message - > From: "lalin" <[EMAIL PROTECTED]> > To: "ICS support mailing" > Sent: Thursday, September 07, 2006 4:46 PM > Subject: Re: [twsocket] SMTPClient > > > > Hello, > >No, I hadn't seen your answer. Thanks for response once. > >Now, I use the asynchronous model, when I send the mail, it executes > > this code: > > Smtp1.port := 'smtp'; > > Smtp1.FromName := name; > > Smtp1.HdrFrom := mail1; > > Smtp1.HdrTo:= destino; > > Smtp1.RcptName.add(destino); > > Smtp1.RcptName.add(mail2); > > Smtp1.HdrSubject := titulo; > > Smtp1.MailMessage := mensaje; > > if (not Smtp1.connected) then begin > >Smtp1.Connect; > > end; > > > >I have created a OnRequestDone method: > >Display('RequestDone Rq=' + IntToStr(Ord(RqType))); > >case RqType of > >smtpConnect: begin > > Smtp1.Helo; > > Display('Helo!'); > >end; > >smtpHelo: begin > > Smtp1.MailFrom; > > Display('Mailfrom!'); > >end; > >smtpMailFrom: begin > > Smtp1.RcptTo; > > Display('RcptTo!'); > >end; > >smtpRcptTo: begin > > Smtp1.Data; > > Display('Data!'); > >end; > >smtpData: begin > > Smtp1.Quit; > > Display('Quit!'); > >end; > >smtpQuit: > > Display('Done!'); > >end; > > > >The result is: > > > > RequestDone Rq=0 > > Helo! > > RequestDone Rq=1 > > Mailfrom! > > RequestDone Rq=2 > > RcptTo! > > RequestDone Rq=4 > > Data! > > RequestDone Rq=5 > > Quit! > > RequestDone Rq=6 > > Done! > > > >But the mail isn't received. I have tested the smtp server 127.0.0.1 > > and > > the domain in IIS console. > >What can it be? > > > > Regards. > > > > - Original Message - > > From: "Francois PIETTE" <[EMAIL PROTECTED]> > > To: "ICS support mailing" > > Sent: Wednesday, September 06, 2006 6:08 PM > > Subject: Re: [twsocket] SMTPClient > > > > > >> You already asked your question one week ago. Did you see my answer ? > >> > >> Here it is again: > >> > > > produces "SMTP component not ready". Can you help me? > >> > >> As another message already said, you are trying to use an asynchronous > >> (non-blocking) component as a synchronous component. Either revise you > >> way > >> of doing thing or use the "sync" version of the component. > >> > >> It is better to revise your programming model and use the asynchronous > >> model. That is use the events. Look at MailSnd sample program delivered > > with > >> ICS. Look at the code behind "All In One" button which show how to use > >> the > >> events to chain all operations required to send emails. > >> > >> Once you had a look at the sample, don't hesitate to ask for more > > questions. > >> > >> -- > >> Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html > >> -- > >> [EMAIL PROTECTED] > >> http://www.overbyte.be > >> > >> > >> - Original Message - > >> From: "lalin" <[EMAIL PROTECTED]> > >> To: "ICS support mailing" > >> Sent: Wednesday, September 06, 2006 4:50 PM > >> Subject: [twsocket] SMTPClient > >> > >> > >> > Hello, > >> > I use SMTPClient for sending a email since a server with default > > smtp > >> > server of IIS. The example program find this smtp server. But in my > >> > program, > >> > with this code: > >> >
Re: [twsocket] SMTPClient
You should, as it is done in the demo MailSnd, display the messages from the server and also check for errors. Reading the messages and errors, you'll understand what's going wrong. -- Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] http://www.overbyte.be - Original Message - From: "lalin" <[EMAIL PROTECTED]> To: "ICS support mailing" Sent: Thursday, September 07, 2006 4:46 PM Subject: Re: [twsocket] SMTPClient > Hello, >No, I hadn't seen your answer. Thanks for response once. >Now, I use the asynchronous model, when I send the mail, it executes > this code: > Smtp1.port := 'smtp'; > Smtp1.FromName := name; > Smtp1.HdrFrom := mail1; > Smtp1.HdrTo:= destino; > Smtp1.RcptName.add(destino); > Smtp1.RcptName.add(mail2); > Smtp1.HdrSubject := titulo; > Smtp1.MailMessage := mensaje; > if (not Smtp1.connected) then begin >Smtp1.Connect; > end; > >I have created a OnRequestDone method: >Display('RequestDone Rq=' + IntToStr(Ord(RqType))); >case RqType of >smtpConnect: begin > Smtp1.Helo; > Display('Helo!'); >end; >smtpHelo: begin > Smtp1.MailFrom; > Display('Mailfrom!'); >end; >smtpMailFrom: begin > Smtp1.RcptTo; > Display('RcptTo!'); >end; >smtpRcptTo: begin > Smtp1.Data; > Display('Data!'); >end; >smtpData: begin > Smtp1.Quit; > Display('Quit!'); >end; >smtpQuit: > Display('Done!'); >end; > >The result is: > > RequestDone Rq=0 > Helo! > RequestDone Rq=1 > Mailfrom! > RequestDone Rq=2 > RcptTo! > RequestDone Rq=4 > Data! > RequestDone Rq=5 > Quit! > RequestDone Rq=6 > Done! > >But the mail isn't received. I have tested the smtp server 127.0.0.1 > and > the domain in IIS console. >What can it be? > > Regards. > > - Original Message - > From: "Francois PIETTE" <[EMAIL PROTECTED]> > To: "ICS support mailing" > Sent: Wednesday, September 06, 2006 6:08 PM > Subject: Re: [twsocket] SMTPClient > > >> You already asked your question one week ago. Did you see my answer ? >> >> Here it is again: >> > > > produces "SMTP component not ready". Can you help me? >> >> As another message already said, you are trying to use an asynchronous >> (non-blocking) component as a synchronous component. Either revise you >> way >> of doing thing or use the "sync" version of the component. >> >> It is better to revise your programming model and use the asynchronous >> model. That is use the events. Look at MailSnd sample program delivered > with >> ICS. Look at the code behind "All In One" button which show how to use >> the >> events to chain all operations required to send emails. >> >> Once you had a look at the sample, don't hesitate to ask for more > questions. >> >> -- >> Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html >> -- >> [EMAIL PROTECTED] >> http://www.overbyte.be >> >> >> - Original Message - >> From: "lalin" <[EMAIL PROTECTED]> >> To: "ICS support mailing" >> Sent: Wednesday, September 06, 2006 4:50 PM >> Subject: [twsocket] SMTPClient >> >> >> > Hello, >> > I use SMTPClient for sending a email since a server with default > smtp >> > server of IIS. The example program find this smtp server. But in my >> > program, >> > with this code: >> >Smtp1.Host := smtpserver; >> >Smtp1.port := 'smtp'; >> >Smtp1.FromName := name; >> >Smtp1.HdrFrom := mail1; >> >Smtp1.HdrTo:= mail2; >> >Smtp1.HdrSubject := title; >> >Smtp1.Connect; >> >Smtp1.Data; >> >Smtp1.quit; >> > >> > produces "SMTP component not ready". >> >The first time that execute it, it connects but it fails in Data. >> >The second time, it passes Connect and Data and it fails in Quit but > I >> > don't receive mail. >> >I have tested with server 127.0.0.1 or localhost and it is the same. >> > >> >Can you help me? >> > >> > Regards. >> > Carlos. >> > >> > >> > -- >> > To unsubscribe or change your settings for TWSocket mailing list >> > please goto http://www.elists.org/mailman/listinfo/twsocket >> > Visit our website at http://www.overbyte.be >> >> -- >> To unsubscribe or change your settings for TWSocket mailing list >> please goto http://www.elists.org/mailman/listinfo/twsocket >> Visit our website at http://www.overbyte.be >> > > > -- > To unsubscribe or change your settings for TWSocket mailing list > please goto http://www.elists.org/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SMTPClient
Hello, No, I hadn't seen your answer. Thanks for response once. Now, I use the asynchronous model, when I send the mail, it executes this code: Smtp1.port := 'smtp'; Smtp1.FromName := name; Smtp1.HdrFrom := mail1; Smtp1.HdrTo:= destino; Smtp1.RcptName.add(destino); Smtp1.RcptName.add(mail2); Smtp1.HdrSubject := titulo; Smtp1.MailMessage := mensaje; if (not Smtp1.connected) then begin Smtp1.Connect; end; I have created a OnRequestDone method: Display('RequestDone Rq=' + IntToStr(Ord(RqType))); case RqType of smtpConnect: begin Smtp1.Helo; Display('Helo!'); end; smtpHelo: begin Smtp1.MailFrom; Display('Mailfrom!'); end; smtpMailFrom: begin Smtp1.RcptTo; Display('RcptTo!'); end; smtpRcptTo: begin Smtp1.Data; Display('Data!'); end; smtpData: begin Smtp1.Quit; Display('Quit!'); end; smtpQuit: Display('Done!'); end; The result is: RequestDone Rq=0 Helo! RequestDone Rq=1 Mailfrom! RequestDone Rq=2 RcptTo! RequestDone Rq=4 Data! RequestDone Rq=5 Quit! RequestDone Rq=6 Done! But the mail isn't received. I have tested the smtp server 127.0.0.1 and the domain in IIS console. What can it be? Regards. - Original Message - From: "Francois PIETTE" <[EMAIL PROTECTED]> To: "ICS support mailing" Sent: Wednesday, September 06, 2006 6:08 PM Subject: Re: [twsocket] SMTPClient > You already asked your question one week ago. Did you see my answer ? > > Here it is again: > > > > produces "SMTP component not ready". Can you help me? > > As another message already said, you are trying to use an asynchronous > (non-blocking) component as a synchronous component. Either revise you way > of doing thing or use the "sync" version of the component. > > It is better to revise your programming model and use the asynchronous > model. That is use the events. Look at MailSnd sample program delivered with > ICS. Look at the code behind "All In One" button which show how to use the > events to chain all operations required to send emails. > > Once you had a look at the sample, don't hesitate to ask for more questions. > > -- > Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html > -- > [EMAIL PROTECTED] > http://www.overbyte.be > > > - Original Message - > From: "lalin" <[EMAIL PROTECTED]> > To: "ICS support mailing" > Sent: Wednesday, September 06, 2006 4:50 PM > Subject: [twsocket] SMTPClient > > > > Hello, > > I use SMTPClient for sending a email since a server with default smtp > > server of IIS. The example program find this smtp server. But in my > > program, > > with this code: > >Smtp1.Host := smtpserver; > >Smtp1.port := 'smtp'; > >Smtp1.FromName := name; > >Smtp1.HdrFrom := mail1; > >Smtp1.HdrTo:= mail2; > >Smtp1.HdrSubject := title; > >Smtp1.Connect; > >Smtp1.Data; > >Smtp1.quit; > > > > produces "SMTP component not ready". > >The first time that execute it, it connects but it fails in Data. > >The second time, it passes Connect and Data and it fails in Quit but I > > don't receive mail. > >I have tested with server 127.0.0.1 or localhost and it is the same. > > > >Can you help me? > > > > Regards. > > Carlos. > > > > > > -- > > To unsubscribe or change your settings for TWSocket mailing list > > please goto http://www.elists.org/mailman/listinfo/twsocket > > Visit our website at http://www.overbyte.be > > -- > To unsubscribe or change your settings for TWSocket mailing list > please goto http://www.elists.org/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be > -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SMTPClient
You already asked your question one week ago. Did you see my answer ? Here it is again: > > > produces "SMTP component not ready". Can you help me? As another message already said, you are trying to use an asynchronous (non-blocking) component as a synchronous component. Either revise you way of doing thing or use the "sync" version of the component. It is better to revise your programming model and use the asynchronous model. That is use the events. Look at MailSnd sample program delivered with ICS. Look at the code behind "All In One" button which show how to use the events to chain all operations required to send emails. Once you had a look at the sample, don't hesitate to ask for more questions. -- Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] http://www.overbyte.be - Original Message - From: "lalin" <[EMAIL PROTECTED]> To: "ICS support mailing" Sent: Wednesday, September 06, 2006 4:50 PM Subject: [twsocket] SMTPClient > Hello, > I use SMTPClient for sending a email since a server with default smtp > server of IIS. The example program find this smtp server. But in my > program, > with this code: >Smtp1.Host := smtpserver; >Smtp1.port := 'smtp'; >Smtp1.FromName := name; >Smtp1.HdrFrom := mail1; >Smtp1.HdrTo:= mail2; >Smtp1.HdrSubject := title; >Smtp1.Connect; >Smtp1.Data; >Smtp1.quit; > > produces "SMTP component not ready". >The first time that execute it, it connects but it fails in Data. >The second time, it passes Connect and Data and it fails in Quit but I > don't receive mail. >I have tested with server 127.0.0.1 or localhost and it is the same. > >Can you help me? > > Regards. > Carlos. > > > -- > To unsubscribe or change your settings for TWSocket mailing list > please goto http://www.elists.org/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] SMTPClient
Hello, I use SMTPClient for sending a email since a server with default smtp server of IIS. The example program find this smtp server. But in my program, with this code: Smtp1.Host := smtpserver; Smtp1.port := 'smtp'; Smtp1.FromName := name; Smtp1.HdrFrom := mail1; Smtp1.HdrTo:= mail2; Smtp1.HdrSubject := title; Smtp1.Connect; Smtp1.Data; Smtp1.quit; produces "SMTP component not ready". The first time that execute it, it connects but it fails in Data. The second time, it passes Connect and Data and it fails in Quit but I don't receive mail. I have tested with server 127.0.0.1 or localhost and it is the same. Can you help me? Regards. Carlos. -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SMTPClient
> > > produces "SMTP component not ready". Can you help me? As another message already said, you are trying to use an asynchronous (non-blocking) component as a synchronous component. Either revise you way of doing thing or use the "sync" version of the component. It is better to revise your programming model and use the asynchronous model. That is use the events. Look at MailSnd sample program delivered with ICS. Look at the code behind "All In One" button which show how to use the events to chain all operations required to send emails. Once you had a look at the sample, don't hesitate to ask for more questions. Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] Author of ICS (Internet Component Suite, freeware) Author of MidWare (Multi-tier framework, freeware) http://www.overbyte.be - Original Message - From: "lalin" <[EMAIL PROTECTED]> To: "ICS support mailing" Sent: Friday, September 01, 2006 12:08 PM Subject: Re: [twsocket] SMTPClient > Hi Bevan > Thanks for your response. I have corrected that but continues giving error. > The first time that execute it, it connects but it fails in Data. > The second time, it passes Connect and Data and it fails in Quit but I don't > receive mail. > I have tested with server 127.0.0.1 or localhost and it is the same. > > Can you help me? > > Regards. > Carlos. > > - Original Message - > From: "Bevan Edwards" <[EMAIL PROTECTED]> > To: "ICS support mailing" > Sent: Thursday, August 31, 2006 4:13 PM > Subject: Re: [twsocket] SMTPClient > > > > Hi Carlos, > > > > Is the "Smtp1.port := 'smpt';" an error in your code or a typo? > > It should be "Smtp1.port := 'smtp';" > > > > Regards, > > > > Bevan > > > > > > lalin wrote: > > > Hello, > > > I use SMTPClient for sending a email since a server with default > smtp server of IIS. The example program find this smtp server. But in my > program, with this code: > > > Smtp1.Host := smtpserver; > > > Smtp1.port := 'smpt'; > > > Smtp1.FromName := name; > > > Smtp1.HdrFrom := mail1; > > > Smtp1.HdrTo:= mail2; > > > Smtp1.HdrSubject := title; > > > Smtp1.Connect; > > > Smtp1.Data; > > > Smtp1.quit; > > > > > > produces "SMTP component not ready". Can you help me? > > > > > > Regards. > > > Carlos. > > > > -- > > To unsubscribe or change your settings for TWSocket mailing list > > please goto http://www.elists.org/mailman/listinfo/twsocket > > Visit our website at http://www.overbyte.be > > > > > -- > To unsubscribe or change your settings for TWSocket mailing list > please goto http://www.elists.org/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SMTPClient
Hi Bevan Thanks for your response. I have corrected that but continues giving error. The first time that execute it, it connects but it fails in Data. The second time, it passes Connect and Data and it fails in Quit but I don't receive mail. I have tested with server 127.0.0.1 or localhost and it is the same. Can you help me? Regards. Carlos. - Original Message - From: "Bevan Edwards" <[EMAIL PROTECTED]> To: "ICS support mailing" Sent: Thursday, August 31, 2006 4:13 PM Subject: Re: [twsocket] SMTPClient > Hi Carlos, > > Is the "Smtp1.port := 'smpt';" an error in your code or a typo? > It should be "Smtp1.port := 'smtp';" > > Regards, > > Bevan > > > lalin wrote: > > Hello, > > I use SMTPClient for sending a email since a server with default smtp server of IIS. The example program find this smtp server. But in my program, with this code: > > Smtp1.Host := smtpserver; > > Smtp1.port := 'smpt'; > > Smtp1.FromName := name; > > Smtp1.HdrFrom := mail1; > > Smtp1.HdrTo:= mail2; > > Smtp1.HdrSubject := title; > > Smtp1.Connect; > > Smtp1.Data; > > Smtp1.quit; > > > > produces "SMTP component not ready". Can you help me? > > > > Regards. > > Carlos. > > -- > To unsubscribe or change your settings for TWSocket mailing list > please goto http://www.elists.org/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be > -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SMTPClient
lalin ha scritto: > Hello, > I use SMTPClient for sending a email since a server with default smtp > server of IIS. The example program find this smtp server. But in my program, > with this code: > Smtp1.Host := smtpserver; > Smtp1.port := 'smpt'; > Smtp1.FromName := name; > Smtp1.HdrFrom := mail1; > Smtp1.HdrTo:= mail2; > Smtp1.HdrSubject := title; > Smtp1.Connect; > Smtp1.Data; > Smtp1.quit; > > produces "SMTP component not ready". Can you help me? If you want to keep this code structure, use SMTPSync component and check return for each step. By the way, consider to switch to event driven architecture for best performance and better structure. Regards -- Marcello Vezzelli Software Development Department E-Works s.r.l. tel. +39 059 2929081 fax +39 059 2925035 Direzionale 70 - Via Giardini 456/c 41100 Modena - Italy -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SMTPClient
Hi Carlos, Is the "Smtp1.port := 'smpt';" an error in your code or a typo? It should be "Smtp1.port := 'smtp';" Regards, Bevan lalin wrote: > Hello, > I use SMTPClient for sending a email since a server with default smtp > server of IIS. The example program find this smtp server. But in my program, > with this code: > Smtp1.Host := smtpserver; > Smtp1.port := 'smpt'; > Smtp1.FromName := name; > Smtp1.HdrFrom := mail1; > Smtp1.HdrTo:= mail2; > Smtp1.HdrSubject := title; > Smtp1.Connect; > Smtp1.Data; > Smtp1.quit; > > produces "SMTP component not ready". Can you help me? > > Regards. > Carlos. -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] SMTPClient
Hello, I use SMTPClient for sending a email since a server with default smtp server of IIS. The example program find this smtp server. But in my program, with this code: Smtp1.Host := smtpserver; Smtp1.port := 'smpt'; Smtp1.FromName := name; Smtp1.HdrFrom := mail1; Smtp1.HdrTo:= mail2; Smtp1.HdrSubject := title; Smtp1.Connect; Smtp1.Data; Smtp1.quit; produces "SMTP component not ready". Can you help me? Regards. Carlos. -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SMTPClient
lalin wrote: > Hello, > I use SMTPClient for sending a email since a server with default > smtp server of IIS. The example program find this smtp server. But in > my program, with this code: Smtp1.Host := smtpserver; Smtp1.port > := 'smpt'; Smtp1.FromName := name; > Smtp1.HdrFrom := mail1; > Smtp1.HdrTo:= mail2; > Smtp1.HdrSubject := title; > Smtp1.Connect; > Smtp1.Data; > Smtp1.quit; > > produces "SMTP component not ready". Can you help me? There are at least two errors in your code. 1) TSmtpCli is async, means a request i.e. method Connect returns at once even though the component is not yet connected. Later an event (OnRequestDone) is triggered instead when the request completed. Any subsequent SMTP method must be called from an event handler, this is mostly done in OnRequestDone. In the handler you check error code and RQType parameters to know what to do next. 2) When Connect completes sucessfully the order of calling subsequent methods could be i.e. Ehlo, MailFrom, RcptTo, Data, Quit. To learn how SMTP works see RFC2821 http://www.faqs.org/rfcs/rfc2821.html Also check out MailSnd demo delivered with ICS. --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html > > Regards. > Carlos. -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] SMTPClient
Hello, I use SMTPClient for sending a email since a server with default smtp server of IIS. The example program find this smtp server. But in my program, with this code: Smtp1.Host := smtpserver; Smtp1.port := 'smpt'; Smtp1.FromName := name; Smtp1.HdrFrom := mail1; Smtp1.HdrTo:= mail2; Smtp1.HdrSubject := title; Smtp1.Connect; Smtp1.Data; Smtp1.quit; produces "SMTP component not ready". Can you help me? Regards. Carlos. -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] smtpclient sharemode
>> On recompiling my program I get an error message reading >> "SmptClient.ShareMode Property does not exist" Published property ShareMode is in the component since it uses a TFileStream (2003). Make sure your program uses correct version of SmtpProt.pas, and rebuild all. --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html kaythorn wrote: > As well as looking everywhere I can think of I have searched the > entire disk for the text 'sharemode' but have been unable to find the > instructions for removing it. > > Could you be more specific? > > Roland Couvela > > > Date: Fri, 23 Jun 2006 09:20:29 -0300 > From: "Marcelo Grossi" <[EMAIL PROTECTED]> > Subject: Re: [twsocket] smtpclient error > To: "ICS support mailing" > Message-ID: <[EMAIL PROTECTED]> > Content-Type: text/plain; format=flowed; charset="iso-8859-1"; > reply-type=original > > Probably nothing. See the header on the SmtpClient for the changes > made in the versions. An explanation about the removal of ShareMode > should be there. The ICS guys are very 'clean' :) > > Cheers, > > Marcelo Grossi > > - Original Message - > From: "kaythorn" <[EMAIL PROTECTED]> > To: > Sent: Thursday, June 22, 2006 7:16 PM > Subject: [twsocket] smtpclient error > > >> I have been using the smtp component for some time, but need to >> update it because I need the authentication feature so I downloaded >> the current ics suite. >> >> On recompiling my program I get an error message reading >> "SmptClient.ShareMode Property does not exist" >> >> What have I done wrong? >> >> Roland Couvela -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] smtpclient sharemode
As well as looking everywhere I can think of I have searched the entire disk for the text 'sharemode' but have been unable to find the instructions for removing it. Could you be more specific? Roland Couvela Date: Fri, 23 Jun 2006 09:20:29 -0300 From: "Marcelo Grossi" <[EMAIL PROTECTED]> Subject: Re: [twsocket] smtpclient error To: "ICS support mailing" Message-ID: <[EMAIL PROTECTED]> Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original Probably nothing. See the header on the SmtpClient for the changes made in the versions. An explanation about the removal of ShareMode should be there. The ICS guys are very 'clean' :) Cheers, Marcelo Grossi - Original Message - From: "kaythorn" <[EMAIL PROTECTED]> To: Sent: Thursday, June 22, 2006 7:16 PM Subject: [twsocket] smtpclient error >I have been using the smtp component for some time, but need to update it >because I need the authentication feature so I downloaded the current ics >suite. > > On recompiling my program I get an error message reading > "SmptClient.ShareMode Property does not exist" > > What have I done wrong? > > Roland Couvela -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] smtpclient error
Probably nothing. See the header on the SmtpClient for the changes made in the versions. An explanation about the removal of ShareMode should be there. The ICS guys are very 'clean' :) Cheers, Marcelo Grossi - Original Message - From: "kaythorn" <[EMAIL PROTECTED]> To: Sent: Thursday, June 22, 2006 7:16 PM Subject: [twsocket] smtpclient error >I have been using the smtp component for some time, but need to update it >because I need the authentication feature so I downloaded the current ics >suite. > > On recompiling my program I get an error message reading > "SmptClient.ShareMode Property does not exist" > > What have I done wrong? > > Roland Couvela > -- > To unsubscribe or change your settings for TWSocket mailing list > please goto http://www.elists.org/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be > -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] smtpclient error
I have been using the smtp component for some time, but need to update it because I need the authentication feature so I downloaded the current ics suite. On recompiling my program I get an error message reading "SmptClient.ShareMode Property does not exist" What have I done wrong? Roland Couvela -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be