Using Win32 functions in Visual FoxPro Image Gallery
Code examples:
GDI+: copying to the Clipboard (a) image of active FoxPro window/form, (b) image file
GDI+: Storing content of the Clipboard to a bitmap file
How to change display settings: screen resolution, screen refresh rate
GDI+: saving image of FoxPro form to graphics file (BMP, GIF, JPG, PNG, TIF)
Custom GDI+ class
Using FoxTray ActiveX control: System Tray Icon and menu attached to VFP form
How to convert a bitmap file to monochrome format (1 bpp)
Capturing keyboard activity of another application with the Raw Input API (VFP9)
Using Video Capture: displaying on FoxPro form frames and previewing video obtained from a digital camera
GDI+: Implementing image scrolling with inertia
Retrieving the name of the primary domain controller (PDC) and join status information
Storing content of the Clipboard to a bitmap file
Custom HttpRequest class (WinHTTP)
How to detect if additional monitor is connected and active
How to put a horizontal text scrolling on the form (a news line, marquee)
How to display Windows On-Screen Keyboard
Winsock: sending email messages (SMTP, port 25)
How to activate Windows Calculator
The SQLGetProp() creates a bridge between Visual FoxPro and the ODBC API
Custom HttpRequest class (WinINet)
How to change the name and the size of the font in the MessageBox dialog
How to create MD-5 and SHA-1 hash values from a string
Mapping and disconnecting network drives
Enumerating raw input devices attached to the system (keyboard, mouse, human interface device)
Winsock: sending email messages (SMTP, port 25)

User rating: 10/10 (1 votes)
Rate this code sample:
  • ~
More code examples    Listed functions    Add comment     W32 Constants      Translate this page Printer friendly version of this code sample
Versions:
click to open
Before you begin:
To initialize the TSmtp object, provide valid SMTP server name and email addresses for both the sender and the recipient.


See also:
  • Winsock: reading email messages (POP3, port 110)
  • MAPI example (file attachments enabled)
  • MAPI: sending email messages
  • MAPI: reading email messages
  • Function MAPISendDocuments

    FoxTalk articles:
  • Sending SMTP Messages in Visual FoxPro Applications, Part 1
  • Sending SMTP Messages in Visual FoxPro Applications, Part 2
  • Accessing Hotmail and MSN Accounts in Visual FoxPro
  •  
      Members area. Log in to view this example.
     
      User name:
      Password:
     
     
      Forgot your password?
     
      Sign up for
    the Membership
     
     


    User rating: 10/10 (1 votes)
    Rate this code sample:
    • ~
    7415 bytes  
    Created: 2003-02-12 16:09:00  
    Modified: 2011-12-10 09:20:22  
    Visits in 7 days: 130  
    Listed functions:
    closesocket
    gethostbyname
    GetSystemTime
    htons
    inet_addr
    inet_ntoa
    recv
    send
    socket
    WSACleanup
    WSACloseEvent
    WSACreateEvent
    WSAEventSelect
    WSAStartup
    WSAWaitForMultipleEvents
    Printer friendly API declarations
    My comment:
    The sender email address can be anything. This approach somehow hides the sender`s identity. Of course, the actual ip address stays and can not be forged. By any means I do not encourage you to cheat on your recipients. Myself, I really hate spammers and unsolicited messages.

    This class can be easily modified for sending messages to multiple recipients.

    The message body in this example is just a plain text. Additional program code is required to enable multipart messages and messages with attachments.

    RFC 821 - Simple Mail Transfer Protocol

    * * *
    Some SMTP headers can be quite important as, for example, Message-ID header containing unique identifier for the message. Without this one your "Hi dude!" has more chances to be rejected by the recipient POP3 server.

    If you are adding your own non-standard headers make sure their names start with "X-". It prevents them from possibly interfering with regular ones.

    For each TO: recipient issue RCPT TO: command and include this email address in "To:" SMTP header.

    For each CC: recipient issue RCPT TO: command and include this email address in "Cc:" SMTP header.

    For each BCC: recipient issue RCPT TO: command only, not include this email address in "Cc:" SMTP header.

    * * *
    Consider using the setsockopt function to adjust the buffer space used for the sending (the default value is 8192 bytes). Because of this, the large message bodies must be chopped and sent by chunks.

    #kwd: sln_sendemail, sln_winsock.
    Word Index links for this example:
    Translate this page:
      Spanish    Portuguese    German    French    Italian  
    FreeTranslation.com offers instant, free translations of text or web pages.
    User Contributed Notes:
    jade | 2006-03-06 11:49:25
    Hi, i encountered error here. it says "authentication required" , im using the yahoo business smtp. can you help me on this. thank a lot
    asm@maxwellgeosystems.com | 2007-10-02 04:04:49
    Hi Anatoliy,

    I am trying to send email through an exchange server. Can I use this application to do so. I have tried specifying the email address and the exchange server in the INIT procedure but it doesnt like it.

    Any ideas.

    Angus
    A.M. | 2007-10-02 12:45:38
    An exchange server may require outgoing smtp authentication. Unfortunately, this code sample does not cover this issue.

    http://www.technoids.org/saslmech.html
    Garry Bettle | 2007-10-17 12:36:52
    I've recently setup Blat to use smtp.gmail.com

    Gmail requires authentication, but Blat can't do that.

    But with Stunnel (http://www.stunnel.org/), a universal SSL Wrapper, I've successfully got it working.

    Perhaps this example could work with authentication if it used Stunnel.

    Cheers,

    Garry
    A.M. | 2007-10-17 13:21:24
    I was able to make the lightest SMTP AUTH, which is the PLAIN, work with a similar VFP code.

    Gmail probably requires more advanced auth modes as well as encrypted data exchange. Using that universal SSL Wrapper seems to be very reasonable idea.

    Copyright 2001-2014 News2News, Inc. Before reproducing or distributing any data from this site please ask for an approval from its owner. Unless otherwise specified, this page is for your personal and non-commercial use. The information on this page is presented AS IS, meaning that you may use it at your own risk. Microsoft Visual FoxPro and Windows are trade marks of Microsoft Corp. All other trademarks are the property of their respective owners. 

    Privacy policy
    Credits: PHP (4.4.9), an HTML-embedded scripting language, MySQL (5.1.68), the Open Source standard SQL database, AceHTML Freeware Version 4, freeware HTML Editor of choice.   Hosted by Korax Online Inc.
    Last Topics Visited (54.83.141.145)
    5 sec.Function: 'RegEnumKey'
    Function group: 'Registry'
    19 sec.Example: 'How to retrieve information about a cache entry (Internet Explorer)'
    25 sec.
    Function group: 'Error Handling'
    34 sec.Example: 'Running a regular FoxPro form while main VFP window is minimized'
    1.2 min.
    Function group: 'Process and Thread'
    4 day(s)Function: 'StartPage'
    Function group: 'Printing and Print Spooler'
     Function: 'SCardListReaderGroups'
     
    Function group: 'Keyboard Input'
     Function: 'waveInGetErrorText'
    Function group: 'Windows Multimedia'
    Google
    Advertise here!