Электронная Почта

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
mark+
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 156
Зарегистрирован: 03.07.2003 (Чт) 0:04
Откуда: Kurgan

Электронная Почта

Сообщение mark+ » 22.10.2003 (Ср) 6:52

Мне нужен работоспособный код ( не этот: [url]vbstreets.ru/default.asp?page=library&id=post_msg[/url] ) для оптравки мыла своей программой, потому что эти The Bat и Microsoft Outgluk задолбали.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 22.10.2003 (Ср) 11:50

При наличии CDO все делатся так:

Код: Выделить всё
Public Sub MySendMail()
With New CDO.Message
.from = "me@my.com"
.To = "you@your.coom"
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "MYSMTPSERVER"
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Configuration.Fields.Update
.BodyPart = "This is message"
.Send
End With
End Sub

mark+
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 156
Зарегистрирован: 03.07.2003 (Чт) 0:04
Откуда: Kurgan

Сообщение mark+ » 23.10.2003 (Чт) 15:10

А что такое CDO и почему нельзя винсоком?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 23.10.2003 (Чт) 15:11

Collaboration Data Objects.

Подробнее - читай MSDN.

Ты просил рабочий код - вот он. Вопросы типа "почему не винсок"... Хм.. ну потому что ;)

mark+
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 156
Зарегистрирован: 03.07.2003 (Чт) 0:04
Откуда: Kurgan

Сообщение mark+ » 23.10.2003 (Чт) 15:41

А как узнать стоит ли CDO на моём компе или нет?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 23.10.2003 (Чт) 16:07

Ровно так же как и любая другая либа. Лезешь в Project\References И смотришь в список :)

Slava Li
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 23.10.2003 (Чт) 16:03

Сообщение Slava Li » 23.10.2003 (Чт) 16:28

RayShade писал(а):Ровно так же как и любая другая либа. Лезешь в Project\References И смотришь в список :)


Если не сложно, подскажи как установить(скачать, настроить) . Если влом будем просить кого-нибудь менее титулованного. :?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 23.10.2003 (Чт) 16:33

Честно скажу - как ставится не знаю.

Скорее всего либо идет в комплекте с Visual Studio, либо с Office.

Можно попробовать поискать в разделе Downloads на microsoft.com но не знаю какой это результат принесет.

mark+
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 156
Зарегистрирован: 03.07.2003 (Чт) 0:04
Откуда: Kurgan

Сообщение mark+ » 23.10.2003 (Чт) 19:39

У меня стоит урезаный Visual Studio (VB графика и несколько мелких прог) и почти полный 2000 офис. А в "ссылках" около 200-300 библиотек.

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 27.10.2003 (Пн) 2:00

привет бери форму и вешай на неё такие элементы

MailConnect - это WinSock
MailFrom - это textBox (от кого шлем письмо)
MailTo - textBox (кому шлем письмо)
UpMemory - textBox (multiLine=True) - Текст письма
MailSubject - textBox (тема письма)
SendName - textBox (имя отправителя)
SMail - кнопка (отправка мыла)

Код: Выделить всё
Private Enum SMTP_State
    MAIL_CONNECT
    MAIL_HELO
    MAIL_FROM
    MAIL_RCPTTO
    MAIL_DATA
    MAIL_DOT
    MAIL_QUIT
End Enum

Dim AAA As New NetDetect
Dim Net As Boolean, State As SMTP_State

Private Sub MailConnect_DataArrival(ByVal bytesTotal As Long)
Dim Answer As String
MailConnect.GetData Answer
SerId = Left(Answer, 3)
If SerId = "220" Or SerId = "250" Or SerId = "354" Then
  Select Case State
   Case "MAIL_CONNECT":
    MailConnect.SendData "HELO Servak" + vbCrLf
    State = MAIL_HELO
   Case "MAIL_HELO":
    MailConnect.SendData "MAIL FROM: "+ MailFrom + vbCrLf
    State = MAIL_FROM
   Case "MAIL_FROM":
    MailConnect.SendData "RCPT TO: "+ MailTo + vbCrLf
    State = MAIL_RCPTTO
   Case "MAIL_RCPTTO":
    MailConnect.SendData "DATA" + vbCrLf
    State = MAIL_DATA
   Case "MAIL_DATA":
    SYSTEM = "Subject: " + MailSubject + vbCrLf
    SYSTEM = SYSTEM+"From: "+ SendName + vbCrLf+ vbCrLf
    MailConnect.SendData SYSTEM+UpMemory + vbCrLf + "." + vbCrLf
    State = MAIL_DOT
   Case "MAIL_DOT":
    MailConnect.SendData "QUIT" + vbCrLf
    State = MAIL_QUIT
   Case "MAIL_QUIT":
    MailConnect.Close
  End Select
End If
End Sub

Private Sub SMail_Click()
State = MAIL_CONNECT
'Коннектимся к серваку, например, smtp.aaanet.ru
MailConnect.Connect "smtp.aaanet.ru", 25
End Sub


Это работает :)
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 27.10.2003 (Пн) 2:04

Соооррри
Код: Выделить всё
Dim AAA As New NetDetect


Это тебе не нужно!!! Просто у себя в проге ещё детектор сети подключал (это к нему ссылка), который на юзера ругался, когда сети не было :)
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 27.10.2003 (Пн) 2:10

Кстати говоря ... наверняка WINSOCK у тебя будет ... он уж поставляется .... и потом просто его инпортировать .... :))) хотя первый код классный ...

У мнея правда контрол свой ... можно обзывать как хочешь, но там внутри алгоритм, а внешне нужно только вводить данные в свойства :)
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

mark+
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 156
Зарегистрирован: 03.07.2003 (Чт) 0:04
Откуда: Kurgan

Сообщение mark+ » 28.10.2003 (Вт) 8:25

Опять меня надули...
У ssecurity в коде ошибка:

Select Case State
:!: Case "MAIL_CONNECT":
Где :!: там ошибка "Несоответствие типов" и усё!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.10.2003 (Вт) 9:45

Человек, путающий long со string...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

mark+
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 156
Зарегистрирован: 03.07.2003 (Чт) 0:04
Откуда: Kurgan

Сообщение mark+ » 29.10.2003 (Ср) 21:53

А я с кейсами еще работать не умею :oops:


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот, Yandex-бот и гости: 15

    TopList