Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Отправка через Standard EXE (Form1) кнопкой на Е-майл

29K
06 сентября 2007 года
Termosis
18 / / 06.09.2007
Здравствуйте Всем!
Я новичок, у меня из-за не полного знания языка Visual Basic возникла одна проблема, так вот я создавал такую программу, которая очень похожа на Outlook Express, только функции немного, создал только те которые считаю нужными, вот осталось сделать-написать код , функцией которого должно быть отправка сообщений со строки TextBox - «место для написания сообщения» переименованной кнопкой «CommandButton» в кнопку «Отправить» , т.е. при нажатии кнопки «Отправить» написанное в строке TextBox-«место для написания сообщения» отправлялось сразу например на один и тот же Эл.ящик на Mail.ru/ заметьте прогу я делал в программе Micorosoft Visual Basic 6.0 далее в Standard EXE, прошу пришлите код… дайте человеку закончить начатое :) С уважением Termosis.
251
06 сентября 2007 года
SkyMаn
1.7K / / 31.07.2007
Цитата: Termosis
заметьте прогу я делал в программе Micorosoft Visual Basic 6.0 далее в Standard EXE, прошу пришлите код… дайте человеку закончить начатое :) С уважением Termosis.


То есть - пришлите? А разве тут служба рассылки? А заканчивать мы вам не мешаем - пожалуйста, - заканчивайте.

А по теме, то задача не ясна, что именно вам нужно сделать.

16K
06 сентября 2007 года
Zbyszek
118 / / 08.08.2007
Помоему, человеку нужен сам механизм отправки сообщения. Тоесть посыл команд серверу и т.д. и т.п.
29K
06 сентября 2007 года
Termosis
18 / / 06.09.2007
я думал здесь помогают друг другу:confused: разве не так, короче нужна помощь, я никогда не думал конечно что этот форум считался или считаеться как служба рассылки, поэтому просто напросто решил написать сюда. Вдруг помогут, короче нужен код, который можно вписать в кнопку в так переименованый "Отправить" хочу чтобы при нажатии на него со строки TextBox - «место для написания сообщения» отправлялось на определенное мыло, кода конечно я незнаю поэтому прошу помощи. А закончить немогу потомучто немогу найти кода:( прошу вас помогите.
29K
06 сентября 2007 года
Termosis
18 / / 06.09.2007
Zbyszek вы правы, только команды для посыла нажатием определенной кнопки, и отправкой написанного в строке TextBox на мыло именно на мыло. Кто-нибудь вышлите код-команду для Visual Basic 6.0
16K
06 сентября 2007 года
Zbyszek
118 / / 08.08.2007
Эм-м-м, тоесть ты вообще не знаешь, как писать на VB? Может я и не прав, но будет ли польза, если сейчас кто-то даст полный исходник? Имхо, тем и прекрасно обучение программированию, что ты ставишь себе цель и потом добиваешься её своими силами.
Увы, могу только "подтолкнуть" - работа с сокетами, rfc smtp-протокола.
29K
07 сентября 2007 года
Termosis
18 / / 06.09.2007
Zbyszek, писать т.е. придумывать неумею исходники, а так по одной учебной статейке сделал прогу, вот только осталось найти исходник для отправки сообщения на мыло путем нажатия кнопки на проге вот и все, а исходник нигде немогу найти в той же уч.статейке написано совсем про другое, мне просто нужен исходник, функция которого отправка на мыло сообщения со строки TextBox. плз., напишите кто-нибудь.. очень нужно. С уважением Termosis
29K
07 сентября 2007 года
Termosis
18 / / 06.09.2007
Zbyszek любыми вариантами лижбы моя прога могла отправлять данные со строк TextBox на мыла прога прошла компиляцию EXE, но можно конечно перередактировать короче отправка сообщений на мыло с файла exe/
16K
07 сентября 2007 года
Zbyszek
118 / / 08.08.2007
Ладно, держи:
29K
08 сентября 2007 года
Termosis
18 / / 06.09.2007
Zbyszek извините пожалуйста меня что я такой глупый, но я все немогу понять что нужно вводить в поля From (e-mail address; To; Your Name; There Name; а в поле E-mail Server по-моему нужно ввести smtp.mail.ru если мыло на mail.ru, я все поля заполнил, но почему она просит ошибки.
Последняя просьба, если Вам не трудно напишите «код» т.е. то что находиться между Private Sub кнопка«отправить»_Сlick () и Sub, я точно знаю что он есть в той проге высланного Вами, но я никак немогу разобраться, постоянно ошибки какие-то, вышлите только такой, чтобы он высылал на указанное мыло одним кликом мыши на кнопку «отправить» содержимое нескольких строк TextBox’са и все больше ничего, а Ваша прога очень даже неплохая.
16K
08 сентября 2007 года
Zbyszek
118 / / 08.08.2007
Исходный код программы находится в файле "Main.FRM", который лежит в архиве с программой.
И работает у меня без ошибок, смотри скриншот.:)
29K
11 сентября 2007 года
Termosis
18 / / 06.09.2007
я тут никак с TextBox разобраться немогу чтобы именно с этих TextBox Строк отправлялись вписанные в нег данные, неполучаеться почему-то, отправить хочу кнопкой Command1 переименнованная как кнопка "Отправить" Можно еще чуть-чуть по подбробней написать...
9.8K
15 сентября 2007 года
b0m
44 / / 23.07.2005
Как я понимаю, за неделю ты не удасужился найти и почитать учебник по VB для чайников. Так вот, мне тоже лень писать тебе готовую программу, удовлетворяющую всем твоим пожеланиям, бесплатно. Готов сделать это за 10WM$, обращайся если че.
29K
16 сентября 2007 года
Termosis
18 / / 06.09.2007
b0m хочешь капусты срубить, а не получиться, как допишу, согласен :) А че тебе сложно написюкать уже знакомые строчки? Я же ведь прошу не целую прогу, а все каких-то там неизвестных мне строк, знал бы написал бы конечно. а насчет учебников, уже набрал, но там про Актив X и HTTP клиент-сервер и т.п. короче то что мне не очень нужно, а проги для отправок я уже нашел, разобраться не могу т.е. списать нужные коды и куда конкретно их вписать не соображу, ошибки постоянно.
29K
19 сентября 2007 года
Termosis
18 / / 06.09.2007
Все пытаюсь написать, вот выходит такая ошибка
Run-time error '424':
Object reguired
а затeм я нажимаю на кнопку "правка", и выходит т.е. там выделяеться желтой строкой эта строка
Winsock1.LocalPort = 0 незнаю что дальше? писал и 250, 220, 25, какие будут советы?
2.1K
19 сентября 2007 года
Tever
87 / / 05.08.2003
Object reguired - объект не существует
Английский учите...
Цитата:
а затeм я нажимаю на кнопку "правка", и выходит т.е. там выделяеться желтой строкой эта строка
Winsock1.LocalPort = 0


Видимо такого объекта Winsock1 нет.

29K
20 сентября 2007 года
Termosis
18 / / 06.09.2007
Tever неподскажете как его создать...
313
21 сентября 2007 года
insane88
440 / / 13.12.2006
Меню Project - Components. Ищешь строку Microsoft Winsock Control в списке, отмечаешь, добавляешь. Дальше сам разберешься :)
29K
21 сентября 2007 года
Termosis
18 / / 06.09.2007
Теперь выскакивает такое сообщение при попытке испробывать программку т.е. при нажатии кпопки «Start» верхней части окна:
Compile error:
Argument not optional
Я нажимал конечно же и на кнопку справка, но его у меня на компе не существует, короче не могу загрузить, поэтому там выскакивает сообщее о просьбе перезагрузить программку, а этого не выходит :(
Далее, выделяется желтой полосой ниже:
Sub SendEmail(txtEmailServer As String, txtFromName As String, txtFromEmailAddress As String, ToNametxt As String, txtToEmailAddress As String, txtEmailSubject As String, txtEmailBodyOfMessage As String)

Все по видимому записано правильно, но что? добавил Microsoft Winsock Control 6.0 (SP4) его значок налепил на пустое пространство на окне изготовляемой проги.
И еще синей полосой выделяеться слово «Second» пока что я его подчеркнул и сделал жирным т.к. их ниже две, но выделяется лишь подчеркнутый, жирного шрифа из всего этого:
Sub SendEmail(txtEmailServer As String, txtFromName As String, txtFromEmailAddress As String, ToNametxt As String, txtToEmailAddress As String, txtEmailSubject As String, txtEmailBodyOfMessage As String) Winsock1.LocalPort = 0
If Winsock1.State = sckClosed Then
DateNow = Format(Date, "Ddd") & ", " & Format(Date, "dd Mmm YYYY") & " " & Format(Time, "hh:mm:ss") & "" & " -0600"
First = "mail from:" + Chr(32) + FromEmailAddress + vbCrLf
Second ="rcpt to:" + Chr(32) + ToEmailAddress + vbCrLf
Third = "Date:" + Chr(32) + DateNow + vbCrLf
Fourth = "From:" + Chr(32) + FromName + vbCrLf
Fifth = "To:" + Chr(32) + ToNametxt + vbCrLf
Sixth = "Subject:" + Chr(32) + EmailSubject + vbCrLf
Seventh = EmailBodyOfMessage + vbCrLf
Ninth = "Maximuz for Dial-up line v1.0.0" + vbCrLf
Eighth = Fourth + Third + Ninth + Fifth + Sixth
Winsock1.Protocol = sckTCPProtocol
Winsock1.RemoteHost = MailServerName
Winsock1.RemotePort = 25
Winsock1.Connect
WaitFor ("220")
Winsock1.SendData ("HELO " + vbCrLf)
WaitFor ("250")
Winsock1.SendData (First)
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)
WaitFor ("221")
Winsock1.Close
Else
MsgBox (Str(Winsock1.State))
End If
End Sub

И еще в кнопке «отправить»_click
Записано вот так:
Private Sub Отправить_Click()

SendEmail txtEmailServer.Text, txtFromName.Text, txtFromEmailAddress.Text, txtToEmailAddress.Text, txtToEmailAddress.Text, txtEmailSubject.Text, txtEmailBodyOfMessage.Text
'MsgBox ("Mail Sent")

Beep
Close
End Sub
2.1K
21 сентября 2007 года
Tever
87 / / 05.08.2003
Я не веду заочные курсы програмирования. Купите книгу и занимайтесь. Хотя бы освойте азы и учите технический английский
29K
22 сентября 2007 года
Termosis
18 / / 06.09.2007
Извините конечно, но книгу купить я в данное время не в состоянии, а нглийского нет, учу китайский, хорошо вы не ведете курсы програмирования, но хотя бы помощь еще немножко можете? Еще совсем чуть-чуть, и все. Плз., очень при очень прошу помогите, решить эту проблему в письме #19 и больше ничего.
29K
23 сентября 2007 года
Termosis
18 / / 06.09.2007
кто знает что значит ниже написанное:
"Run-time error "40020":
Invalid operation at current state"

Вот эта фигня постоянно выскакивает
251
24 сентября 2007 года
SkyMаn
1.7K / / 31.07.2007
Предлагаю юзать АПИшку библиотеки MAPI.
Вот код, который работает не только а стандартном ЕХЕ, но и в ВБА:
Код:
Option Explicit
Type MAPIRecip
    Reserved As Long
    RecipClass As Long
    Name As String
    Address As String
    EIDSize As Long
    EntryID As String
End Type
Type MAPIFileTag
    Reserved As Long
    TagLength As Long
    Tag() As Byte
    EncodingLength As Long
    Encoding() As Byte
    End Type
    Type MAPIFile
    Reserved As Long
    Flags As Long
    Position As Long
    PathName As String
    FileName As String
    FileType As Long
End Type
Type MAPIMessage
    Reserved As Long
    Subject As String
    NoteText As String
    MessageType As String
    DateReceived As String
    ConversationID As String
    Originator As Long
    Flags As Long
    RecipCount As Long
    Recipients As Long
    Files As Long
    FileCount As Long
End Type
Declare Function MAPILogoff Lib "MAPI32.DLL" (ByVal Session&, ByVal UIParam&, ByVal Flags&, _
ByVal Reserved&) As Long
Declare Function MAPILogon Lib "MAPI32.DLL" (ByVal UIParam&, ByVal User$, ByVal Password$, _
ByVal Flags&, ByVal Reserved&, Session&) As Long
Declare Function MAPISendMail Lib "MAPI32.DLL" (ByVal Session As Long, ByVal _
UIParam As Long, Message As MAPIMessage, ByVal Flags As Long, ByVal _
Reserved As Long) As Long

Private Const MAPI_E_NO_LIBRARY = 999
Private Const MAPI_E_INVALID_PARAMETER = 998
Private Const MAPI_ORIG = 0
Private Const MAPI_TO = 1
Private Const MAPI_CC = 2
Private Const MAPI_BCC = 3
Private Const MAPI_UNREAD = 1
Private Const MAPI_RECEIPT_REQUESTED = 2
Private Const MAPI_SENT = 4
Private Const MAPI_LOGON_UI = &H1
Private Const MAPI_NEW_SESSION = &H2
Private Const MAPI_DIALOG = &H8
Private Const MAPI_UNREAD_ONLY = &H20
Private Const MAPI_ENVELOPE_ONLY = &H40
Private Const MAPI_PEEK = &H80
Private Const MAPI_GUARANTEE_FIFO = &H100
Private Const MAPI_BODY_AS_FILE = &H200
Private Const MAPI_AB_NOMODIFY = &H400
Private Const MAPI_SUPPRESS_ATTAch = &H800
Private Const MAPI_FORCE_DOWNLOAD = &H1000
Private Const MAPI_OLE = &H1
Private Const MAPI_OLE_STATIC = &H2
Sub api_SendMail2(ByRef aRecips As Variant, ByVal strSubject As String, ByVal strMessage As String)
    Dim recips() As MAPIRecip
    Dim Message As MAPIMessage
    Dim Rtn As Long '-- return value For api calls
    Dim hMAPI As Long '-- session handle
   
    Dim z As Long
    ReDim recips(LBound(aRecips) To UBound(aRecips))
    For z = LBound(aRecips) To UBound(aRecips)
        With recips(z)
            .RecipClass = 1
            If InStr(aRecips(z), "@") < 0 Then
                .Address = StrConv(aRecips(z), vbFromUnicode)
            Else
                .Name = StrConv(aRecips(z), vbFromUnicode)
            End If
        End With
    Next z
   
    With Message
        .NoteText = strMessage
        .Subject = strSubject
        .Files = 0
        .RecipCount = UBound(recips) - LBound(aRecips) + 1
        .Recipients = VarPtr(recips(LBound(recips)))
    End With
       
    Rtn = MAPILogon(0, "", "", MAPI_LOGON_UI, 0, hMAPI)
    MAPISendMail hMAPI, 0, Message, MAPI_DIALOG, 0
    '-- logoff MAPI application
    Rtn = MAPILogoff(hMAPI, 0, 0, 0)
End Sub
Sub TestSendMail()
    Dim aRecips(0 To 0) As String
    aRecips(0) = "smtp:test@hotmail.com"
    api_SendMail2 "Посылаем через MAPI", "test", aRecips, "c:\test.pdf"
End Sub

Как видно из кода тестовой процедуры, можно приаттачивать еще и файлы.
251
24 сентября 2007 года
SkyMаn
1.7K / / 31.07.2007
Цитата: Tever
Я не веду заочные курсы програмирования. Купите книгу и занимайтесь. Хотя бы освойте азы и учите технический английский


А разве это только к вам вопрос?
2Termosis: Научитесь оформлять код.

2.1K
24 сентября 2007 года
Tever
87 / / 05.08.2003
Цитата: SkyM@n
А разве это только к вам вопрос?


Я ответил только за себя
Сорри за офтоп

29K
25 сентября 2007 года
Termosis
18 / / 06.09.2007
блин, а может у кого есть книжка по этой теме имеется ввиду по обучению отправки почты? Понять немогу что к чему по MAPI немогу, а в Winsock почти разобрался только чуть-чуть осталось, но это не считаеться.
251
25 сентября 2007 года
SkyMаn
1.7K / / 31.07.2007
Цитата: Termosis
Понять немогу что к чему по MAPI немогу,


А что именно не получается. Предлагаю разобраться по-порядку.

29K
27 сентября 2007 года
Termosis
18 / / 06.09.2007
:) отлично
куда вписать мои названия строк? Т.е. заполненные в эти строки данные отправлялись на мыло. Куда конкретно вставить этот код? Вы можете привести пример - прогу? чтобы было понятно что к чему. Например строка называется Label1 вот а в коде нужно написать так что бы именно с этого Label1 отправлялось сообщение.
29K
30 сентября 2007 года
Termosis
18 / / 06.09.2007
SkyM@n ну....
251
30 сентября 2007 года
SkyMаn
1.7K / / 31.07.2007
Что, "ну"? TestSendMail() отправляет мессагу, в самой процедуре - пример. Следовательно, можно подставить smtp:test@hotmail.com в лейбл. Или {до|при}думать что-то свое.
29K
02 октября 2007 года
Termosis
18 / / 06.09.2007
например если на мыло которое находится на mail.ru писать smtp.mail.ru или smtp:mymail@mail.ru?
29K
02 октября 2007 года
Termosis
18 / / 06.09.2007
А в кнопку Command1 что за код вписать?
251
03 октября 2007 года
SkyMаn
1.7K / / 31.07.2007
Цитата: Termosis
например если на мыло которое находится на www.mail.ru писать smtp.mail.ru или smtp:mymail@mail.ru?



А эти адреса надо уточнять у самого мэйл.ру. Там вроде smtp.mail.ru.
В обработчик нажатия кнопки пишешь название той процедуры.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог