Login
`
Templates, Tools and Utilities
|
||
Add a comment to an Icetips ArticlePlease add your comments to this article.
Please note that you must provide both a name and a valid email address in order
for us to publish your comment. Comments are moderated and are not visible until they have been approved. Spam is never approved!
Back to article list Search Articles Add Comment Printer friendly Direct link Windows API: Getting the Messaging/Email templates to work 2002-12-31 -- Mike Jenkins Newsgroups: comp.lang.clarion
Hi,
I noted a number of posts asking for assistance in getting the example
SMTP
to work within their APP. Having hit the same problem, I settled down
to document the steps.
Open an APP you want to email-enable and click
Global
Extensions
Insert
and select Global Document Handling, Addressbook and Transport
Settings
Complete . . .
Sender Domain = the domain of the email that you'll test with. EG for
sender email address mike@hotmail.com, put hotmail.com
Default SMTP server = the IP address of the server through which you
transmit. EG 10.0.0.4 for an IP on an internal network. If you're
unsure
of the IP address, contact your ISP's helpline and ask them. I didn't
try
the FQDN, just the IP.
Default SMTP port = the default is 25
Click on SENDER SETTINGS and complete the three fields with global
variables. I used CSTRING(60) . . .
!SMTP:SenderAddress
!SMTP:FromHeaderAddress
!SMTP:FromHeaderName
Click OK
Click OK
I then created a procedure to do the actual transmission so that I
could
call it from various points within my code. So press Insert and name
the
procedure. EG SendEmail.
Select Generic Window Handler
Click Extensions
Click Insert
Select Document Send - Document Send Extension
Click Message Settings and set Message Body Source to NONE
Click OK
Click Window
Select Window (IE without OK & Cancel)
Right-click and select Embeds
Insert the source below into the OpenWindow embed
Save entry and ensure that you select Procedures in the module from
which
you wish to call SendEmail. All you have to do is prime your globals
and
call SendEmail.
!OpenWindow
eMail.DefaultServer = SMTP:DefaultServer
eMail.DefaultPort = SMTP:ServerPort
eMail.Sender = clip(SMTP:SenderAddress)
if clip(SMTP:FromHeaderName) = '' then
eMail.From = '<<' & clip(SMTP:FromHeaderAddress) & '>'
else
eMail.From = '"' & clip(SMTP:FromHeaderName) & '" <<' &
clip(SMTP:FromHeaderAddress) & '>'
.
eMail.SenderDomain = SMTP:SenderDomain
Addresses.AddRecipient(SMTP:RecipientAddress, SMTP:RecipientName,
SendTo,
SMTP,)
Message.Description = SMTP:Subject
Message.AddBody(clip(SMTP:BodyText) & '<13,10,13,10>'
Message.TextOnly = True ! Drop all MIME headers and encoding.
Message.Send()
post(Event:CloseWindow)
where global variables are all CSTRING(60) unless otherwise noted . .
.
SMTP:DefaultServer = IP of your ISP SMTP server
SMTP:ServerPort = default 25
SMTP:SenderAddress = your email address
SMTP:FromHeaderName = Name of from address
SMTP:FromHeaderAddress = your email address
SMTP:SenderDomain = domain portion of your email address
SMTP:RecipientAddress = recipient's email address
SMTP:RecipientName = recipient's name or blank
SMTP:Subject = subject of email CSTRING(100)
SMTP:BodyText = body of email CSTRING(5000)
Today is November 21, 2024, 6:43 am This article has been viewed 35281 times. Google search has resulted in 101 hits on this article since January 25, 2004.
|
|