e-mail ?

Let say I have some information like :
name, age, phone#, address.
After the user entered all the information and pressed "ok" button, then all the information will send to an e-mail address. Is that possible to do that in VB ?
My professor said no.

If yes, could you teach me how .

Thank a lot
Who is Participating?
BergJCConnect With a Mentor Commented:
Here's some example code I have. See if it can help you out. You'll need to place a winsock control in your app.

Description:Allows sending of e-mail (SMTP) directly from
'     a VB app using Winsock, WITH OUT having to buy an expensive
'     add on component

//Input Requirements: Server Address (Name or IP), Senders & //Recipeient's Names, Sender & Recipient E-Mail address, Body of //message

Dim Response As String, Reply As Integer, DateNow As String
Dim first As String, Second As String, Third As String
Dim Fourth As String, Fifth As String, Sixth As String
Dim Seventh As String, Eighth As String
Dim Start As Single, Tmr As Single

Sub SendEmail(MailServerName As String, FromName As String, FromEmailAddress As String, ToName As String, ToEmailAddress As String, EmailSubject As String, EmailBodyOfMessage As String)

       Winsock1.LocalPort = 0 ' Must set local port to 0 (Zero) or you can only send 1 e-mail per program start

              If Winsock1.State = sckClosed Then ' Check to see if socet is closed
                     DateNow = Format(Date, "Ddd") & ", " & Format(Date, "dd Mmm YYYY") & " " & Format(Time, "hh:mm:ss") & "" & " -0600"
                     first = "mail from:" + Chr(32) + FromEmailAddress + vbCrLf ' Get who's sending E-Mail address
                     Second = "rcpt to:" + Chr(32) + ToEmailAddress + vbCrLf ' Get who mail is going to
                     Third = "Date:" + Chr(32) + DateNow + vbCrLf ' Date when being sent
                     Fourth = "From:" + Chr(32) + FromName + vbCrLf ' Who's Sending
                     Fifth = "To:" + Chr(32) + ToNametxt + vbCrLf ' Who it going to
                     Sixth = "Subject:" + Chr(32) + EmailSubject + vbCrLf ' Subject of E-Mail
                     Seventh = EmailBodyOfMessage + vbCrLf ' E-mail message body
                     Ninth = "X-Mailer: EBT Reporter v 2.x" + vbCrLf ' What program sent the e-mail, customize this
                     Eighth = Fourth + Third + Ninth + Fifth + Sixth ' Combine for proper SMTP sending
                     Winsock1.Protocol = sckTCPProtocol ' Set protocol for sending
                     Winsock1.RemoteHost = MailServerName ' Set the server address
                     Winsock1.RemotePort = 25 ' Set the SMTP Port
                     Winsock1.Connect ' Start connection
                     WaitFor ("220")
                     StatusTxt.Caption = "Connecting...."
                     Winsock1.SendData ("HELO worldcomputers.com" + vbCrLf)
                     WaitFor ("250")
                     StatusTxt.Caption = "Connected"
                     Winsock1.SendData (first)
                     StatusTxt.Caption = "Sending Message"
                     WaitFor ("250")
                     Winsock1.SendData (Second)
                     WaitFor ("250")
                     Winsock1.SendData ("data" + vbCrLf)
                     WaitFor ("354")
                     Winsock1.SendData (Eighth + vbCrLf)
                     Winsock1.SendData (Seventh + vbCrLf)
                     Winsock1.SendData ("." + vbCrLf)
                     WaitFor ("250")
                     Winsock1.SendData ("quit" + vbCrLf)
                     StatusTxt.Caption = "Disconnecting"
                     WaitFor ("221")
                     MsgBox (Str(Winsock1.State))
              End If

End Sub

Sub WaitFor(ResponseCode As String)

       Start = Timer ' Time event so won't get stuck in loop

              While Len(Response) = 0
                     Tmr = Start - Timer

                            DoEvents ' Let System keep checking for incoming response **IMPORTANT**

                                          If Tmr > 50 Then ' Time in seconds to wait
                                                 MsgBox "SMTP service error, timed out while waiting for response", 64, MsgTitle
                                                 Exit Sub
                                          End If


                            While Left(Response, 3) <> ResponseCode


                                                        If Tmr > 50 Then
                                                               MsgBox "SMTP service error, impromper response code. Code should have been: " + ResponseCode + " Code recieved: " + Response, 64, MsgTitle
                                                               Exit Sub
                                                        End If


                                   Response = "" ' Sent response code to blank **IMPORTANT**
                            End Sub

Private Sub Command1_Click()

       SendEmail txtEmailServer.Text, txtFromName.Text, txtFromEmailAddress.Text, txtToEmailAddress.Text, txtToEmailAddress.Text, txtEmailSubject.Text, txtEmailBodyOfMessage.Text
       '     'MsgBox ("Mail Sent")
       StatusTxt.Caption = "Mail Sent"
End Sub

Private Sub Command2_Click()


End Sub

Private Sub Form_Load()

End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

       Winsock1.GetData Response ' Check for incoming response *IMPORTANT*
End Sub

johnnhoj111198Author Commented:
what is winsock and where can I get it, mine is vb 4.0.
can you tell me how to use winsock, like how to install
Do you plan to do this across a domain running Exchange, or is it something more like a dial-up connection to a SMTP server?

Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

Can send e-mail with attached simple text-file.
Text file can be like this:
name: John
age: 25
phone: 1-11-111-111
address: SomeStreet 75, SomeCity 10000
Files can be automaticaly downloaded to download directory, e.g. with Eudora
- so your program would watch this directory and see any "new" file,
Or, when email is manualy read, you can allow your users to drag and drop attachments on your application.
After reading and parsing this received small files, you can automatically save ~customer data, or prompt your user with form filled with data.
Let me know if you want any code, e.g. sending this txt attachments via Outlook Express.
I know the Winsock control ships with VB5 & VB6, but I've never had VB4. Does anyone else know where he can get the winsock control for VB4 32-bit (if he can at all)?
I believe that we had to purchase such a control at a job i had way back when i used vb 4...  i know we had one for vb 3, and we upgraded it to an OCX when 4 came out.
johnnhoj111198Author Commented:
I have winsock.dll, can I use that ?
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.