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
|
* Replace addresses with real ones before running the code
loMail = NEWOBJECT("Cdo2000", "Cdo2000.fxp")
WITH loMail
.cServer = "smtp.somedomain.com"
* Uncomment following lines and fill your credentials
* if your SMTP server requires basic authentication
*.nAuthenticate = 1 && cdoBasic
*.cUserName = "myusername"
*.cPassword = "mypassword"
.cFrom = "somemailbox@somedomain.com"
.cTo = "somebody@otherdomain.com, somebodyelse@otherdomain.com"
.cSubject = "CDO 2000 email"
* Uncomment next lines to send HTML body
*.cHtmlBody = "<html><body><b>This is an HTML body<br>" + ;
* "It'll be displayed by most email clients</b></body></html>"
.cTextBody = "This is a text body." + CHR(13) + CHR(10) + ;
"It'll be displayed if HTML body is not present or by text only email clients"
* Attachments are optional
* .cAttachment = "myreport.pdf, myspreadsheet.xls"
ENDWITH
IF loMail.Send() > 0
FOR i=1 TO loMail.GetErrorCount()
? i, loMail.Geterror(i)
ENDFOR
* Clear errors
loMail.ClearErrors()
ELSE
? "Email sent."
ENDIF
|
Comments
CDO2000 cHTMLBodyURL file access denied after 1st Use
Thanks so much for the example CDO200 stuff you have posted.
I have one problem. Using the cHtmlBodyURL property, I can successfully place the contents of an HTML file I created in Visual Foxpro code into the body of the sent message. However, this only works the first time through (in a Visual Fox session). If I try to run it again, I get "file access denied" when trying to re-create my HTML file by using SET ALTERNATE TO. It seems CDO2000 is keeping a lock on the file. If I quit Fox, and come back in and run the program, it works fine.
I have tried all sorts of RELEASE and CLOSE commands in the program, but nothing works.
Any ideas on what I'm missing?
Thanks,
Bill
Re: CDO2000 cHTMLBodyURL file access denied after 1st Use
Did you try to release CDO object?
CDO2000 File Access Problem Solved!
In another gem you wrote about using Gmail and CDO2000, I found TWO solutions to the problem.
In my program, I set "savefile" to a file name, then used SET ALTERNATE to write the HTML code to it (and closing it properly!). Then, either one of the following works, AND allows the creation of the file and SEND to be performed consecutive times without the dreaded "File Access denied".
1. .cHtmlBody = FILETOSTR(savefile) && this works! No mysterious file lock on savefile afterwards
2. .cHtmlBodyUrl = "file://" + FULLPATH(savefile) && this also works, no mysterious file lock on savefile afterwards
For some reason, using just the file name (savefile) in the cHTMLBodyURL causes the weird lock on savefile afterwards.
Thanks for all your help, Sergey.
Problem with Chinese characters
Thanks for your code. It works well for English contents but Chinese characters will become garbage. Is there any way to fix the problem?
Thanks,
Ben Tam
Re: Problem with Chinese characters
Maybe <a href = "http://support.microsoft.com/kb/284143">How To Send Japanese Characters by Using CDO for Windows 2000</a> can help?
Changes to use additional authentication
Thanks.
Don
Re: Changes to use additional authentication
The CDO 2000 supports only following three types of authentication:
<ul>
<li> cdoAnonymous, value 0. Do not authenticate.
<li> cdoBasic, value 1. Use basic clear-text authentication. When using this option you have to provide the user name and password through the sendusername and sendpassword fields.
<li> cdoNTLM, value 2. The current process security context is used to authenticate with the service.
</ul>
Sending a Batch of eMails with one call to Send()
Is it possible to create a number of email messages to different people with different attachments etc. and then just call the Send() method once to send all the messages?
Thanks,
Simon
Re: Sending a Batch of eMails with one call to Send()
You'll have to call Send() once per each email. There's no batch mode.
To and From (non address)
Will this code send email
Does it class support SSL or STARTTLS
Re: Does it class support SSL or STARTTLS
CD02000 & SmarterMail
I can send with gmail, comcast, and yahoo, but not with SmarterMail.
I've tried 465 & 25 and other combinations.
Receive error "1429 # send # 183 # 0x00000213 The transport failed to connect to the server"
I'm certain my credentials are correct.
Any advice on what else to try?
Thanks!
Dave
Re: CD02000 & SmarterMail
I have no knowledge of SmarterMail. What are the instructions to connect SMTP clients to it?
Sergey, I am your fan. This
I am your fan.
This is a brilliant procedure.
Keep up the good work and all the best.
Cheers
Otilia
Attachment Filename Case
Re: Attachment Filename Case
Most likely, FULLPATH() in the code that processes attachments is a culprit.
Attachment Filename Case
What is the copyright status of your code? I understand free-to-use, but do you claim copyright and if so, what?
Re: Attachment Filename Case
You can use code any way you see fit. I would appreciate if you mention where it originates but it's not a requirement.
Attachment Filename Case and Other Things
tryfn=justpath(fullpath(filename))+"\"+justfname(filename)
The case of the directory names is still uppered, but that does not matter as those are not sent. Feel free to use this.
2) In your test with the fullpath(), I think that you are assuming that there is only one attachment. For my use, it will be common that this is incorrect.
3) You have a typo "attacment".
I may rework your class a bit. If I do, I will send you a copy.
Re: Attachment Filename Case and Other Things
Thank you for taking time to let me know.
1) Yes it will preserve the case of file name
2) The code process each attachment separately in a loop
3) Corrected
Sergey
Write emails to Gmail's Draft box/folder?
Thank you.
Error using code
1 Error : : 1429 # send # 185 # 0x00000220 The "SendUsing" configuration value is invalid.
email error 1429 & 187 or 191
I found article stating error 1429 means windows registry has "irregular entries" - not sure what/how this happened - but how do i fix this?
thanks for any help you can provide!