Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.58/55: Рейтинг темы: голосов - 55, средняя оценка - 4.58
0 / 0 / 1
Регистрация: 23.10.2012
Сообщений: 135

Можно ли с программы отправить Email?

06.01.2013, 12:03. Показов 11137. Ответов 50
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
можно ли с программы отправить Email?
т.е. пользователь набирает сообщение в Text и отправляет его на одно определенное мыло.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.01.2013, 12:03
Ответы с готовыми решениями:

Отправить email при помоши vb
у меня стоит visual basic 2010 express как мне зделать так чтобы при вводе в текстовое окно и нажатия определоной кнопки отпровлялся ...

Нужно из програмы на VB отправить email с вложенными файлами
Нужно из програмы на VB отправить email с вложенными файлами. Желательно не используя MS Winsock Control. Несколько месяцев назад я уже...

Как отправить из программы сообщение на email
Как отправить из программы сообщение на email? (Возможно не в ту тему написал)

50
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38226 / 21158 / 4314
Регистрация: 12.02.2012
Сообщений: 34,773
Записей в блоге: 14
04.02.2013, 21:24
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Dragokas Посмотреть сообщение
Причем здесь jmail к CDO
- я не виноват...
0
0 / 0 / 0
Регистрация: 14.02.2013
Сообщений: 3
14.02.2013, 14:16
А можно сделать так, чтобы создавались автоматически шаблоны с письмами, но чтобы ещё и вложения в эти письма автоматически вставлялись?(В разные письма разные файлы)
0
Заблокирован
14.02.2013, 16:53
Parklane, Создавай условия и проверяй.
0
0 / 0 / 0
Регистрация: 14.02.2013
Сообщений: 3
15.02.2013, 10:33
Вроде разобрался.
А подскажите ещё, если добавить к данному макросу ещё 1 колонку в списке контактов, чтобы тема письма была привязана к этой колонке(то есть название компаний отдельное в каждом письме)
Какой код нужно для этого использовать?
0
Заблокирован
15.02.2013, 13:48
Parklane, В таких случаях можно лучше использовать базу данных, типа ссылающаяся таблица на ссылающуюся запись. Ну или тоже само делать в Excel. К примеру выбрали "Медицина", в этой категории раскрыты все медицинские компании и тут же привязать дни праздников к примеру к которым относится медицина.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
05.08.2013, 17:49
Catstail, помогите, пожалуйста, на счет Jmail.
Что Вы задавали в качестве имен серверов для отправки?

Я пишу так, выдает ошибку 8000ffff (The message was undeliverable. All Servers failed to receive the message.)
И разве ему не нужен логин/пароль для отправки?

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Public Sub main()
    ':::
    '::: Отправка почты компонентом jmail.dll
    ':::
    Dim Jmail As Object
    Set Jmail = CreateObject("JMail.Message")
    Jmail.Charset = "windows-1251"               ' кодировка
    Jmail.AddRecipient "my_login1@i.ua"             ' адрес получателя
    Jmail.From = "my_login2@yandex.ru"              ' адрес отправителя
    Jmail.Body = "Текст письма..."               ' перевод на новую строку - & vbCrLf
    Jmail.Subject = "OPER"                       ' тема письма
    Jmail.EnableCharsetTranslation = False       ' так надо...
    Jmail.AddAttachment (ThisWorkbook.Path & "\" & "1.xls")   ' прикрепленный файл
    Jmail.Send ("smtp.yandex.ru")  ' лети!...
    Set Jmail = Nothing
End Sub
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38226 / 21158 / 4314
Регистрация: 12.02.2012
Сообщений: 34,773
Записей в блоге: 14
05.08.2013, 18:04
Сейчас уточню!
0
2062 / 491 / 134
Регистрация: 13.11.2008
Сообщений: 936
05.08.2013, 18:49
Не может послужить причиной попытка отправки самой книги с кодом?
Visual Basic
1
Jmail.AddAttachment (ThisWorkbook.Path & "\" & "1.xls")
Может попробовать сохранить её под другим именем на диск и уже другую, закрытую отправлять? или сначала режим ReadOnly применить, а потом отправить:
Visual Basic
1
2
3
4
5
ThisWorkbook.Save
ThisWorkbook.ChangeFileAccess xlReadOnly
Jmail.AddAttachment (ThisWorkbook.Path & "\" & "1.xls")
Jmail.Send ("smtp.yandex.ru")  ' лети!...
ThisWorkbook.ChangeFileAccess xlReadWrite
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38226 / 21158 / 4314
Регистрация: 12.02.2012
Сообщений: 34,773
Записей в блоге: 14
05.08.2013, 18:50
Пароль (если он требуется), можно задать так:

Visual Basic
1
Jm.MailServerPassword="пароль"
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
05.08.2013, 18:51
Нет, я не пытаюсь отправить книгу с кодом.
Закомментировал строку. Ошибка та же.

Catstail, попробовал пароль - не помогло.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38226 / 21158 / 4314
Регистрация: 12.02.2012
Сообщений: 34,773
Записей в блоге: 14
05.08.2013, 18:54
А логин - так:

Visual Basic
1
Jm.MailServerUserName="логин"
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
05.08.2013, 19:08
Catstail, спасибо. Сработало.

Добавлено через 5 минут
А можно ли изменить порт для сервера отправки?
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38226 / 21158 / 4314
Регистрация: 12.02.2012
Сообщений: 34,773
Записей в блоге: 14
05.08.2013, 19:19
В документации замену порта не нашел... А Вам удалось связаться с Яндексом? У меня не получается...
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
05.08.2013, 20:59

Не по теме:

Извините, набегами. Еще на работе.



С яндекса нормально отправляет.
Текущий код таков:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    Dim Jmail As Object
    Set Jmail = CreateObject("JMail.Message")
    With Jmail
        .Charset = "windows-1251"               ' кодировка
        .AddRecipient "some_email@yahoo.com"            ' адрес получателя
        .From = "login@yandex.ru"              ' адрес отправителя
        .Body = "Текст письма..."               ' перевод на новую строку - & vbCrLf
        .Subject = "OPER"                       ' тема письма
        .EnableCharsetTranslation = False       ' так надо...
        .AddAttachment (ThisWorkbook.Path & "\" & "1.xls")   ' прикрепленный файл
        .MailServerUserName = "login"          ' логин
        .MailServerPassword = "pass"     ' пароль
        .Send ("smtp.yandex.ru")  ' лети!...
    End With
    Set Jmail = Nothing
Судя из документации в этой версии замена порта недоступна:
JMail.POP3
Note that JMail.POP3 is included only in the Professional version of w3 JMail!
Connect(Username, Password, Server, Port) :
Opens the connection to the POP3 server. The Port argument is optional and defaults to 110.
Visual Basic
mailbox.Connect "john", "qwerty", "mail.myDomain.com"
Добавлено через 50 минут
Catstail, Вам не доводилось задавать имя отправителя? - нечто в стиле "Alex Dragokas <Alex@yandex.ru>"

Не возникало ли ситуаций, когда письмо не было доставлено несмотря на отсутствие ошибок в объекте Err ?
У меня бывало, что некоторые письма не доходили, когда я сразу отправлял для человек 30 последовательно.
Но я был сам виноват, плохо написал обработчик ошибок, поэтому для всех возвращало true.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38226 / 21158 / 4314
Регистрация: 12.02.2012
Сообщений: 34,773
Записей в блоге: 14
05.08.2013, 21:07
Цитата Сообщение от Dragokas Посмотреть сообщение
не доводилось задавать имя отправителя? - нечто в стиле "Alex Dragokas <Alex@yandex.ru>"
- нет, не приходилось...
0
1783 / 765 / 130
Регистрация: 09.04.2011
Сообщений: 1,330
25.06.2014, 15:23
Реанимирую тему
Есть ли возможность средствами vbs через контекстное меню файла в среде Windows 7 открыть браузер IE в яндекс-почте и подгрузить для отправки тот самый файл?

Не по теме:

не слабо загнул? :D

0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
25.06.2014, 18:00
Дома буду, сделаю.
Тебе именно через VBScript нужно или VB6 ?

Контекстное меню любых файлов или определенного расширения(-ий) ?
Контекстное меню куда прилепить - сразу по правому клику или в подменю "Отправить" ?
Нужна ли поддержка отправки сразу нескольких файлов?
0
1783 / 765 / 130
Регистрация: 09.04.2011
Сообщений: 1,330
25.06.2014, 21:38
Dragokas, на vbs было-бы не плохо. Контекст прикрутить к подменю "отправить" ко всем типам файлов, т.к. не известно, что придётся отправлять. Поддержка отправки сразу нескольких файлов не нужна. (если их будет несколько - упакуем в архив)
Можно-ли будет в настройках скрипта задавать почтовик не только яндекса, но и майла?
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
25.06.2014, 21:46
Visual Basic
1
2
3
        'для отправки почты с аккаунта @gmail.com
        .Item(cdoConfigURL & "smtpserverport") = 465 'порт для SSL: 465
        .Item(cdoConfigURL & "smtpusessl") = 1 'использовать аутентификацию: да

Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Option Explicit
 
 
Private Sub Form_Load()
    '
    '
    '
    '
 
    Stop
    Dim txt$
    SaveAccountData
    txt = "Это письмо сформировано макросом" & vbNewLine & "без использования внешних программ и подключения дополнительных библиотек"
    If Send_Mail("FelixMacintosh@yandex.ru", "FelixMacintosh@yandex.ru", "проверка отправки почты_2", _
    txt) Then
        MsgBox "Письмо успешно отправлено", vbInformation
    Else
        MsgBox "Не удалось отправить письмо", vbExclamation
    End If
End Sub
 
 
Sub SaveAccountData() 'запускать один раз - для записи в реестр Windows параметров почтового аккаунта
    SaveSetting App.EXEName, "mail", "smtpserver", "smtp.yandex.ru" 'Ваш SMTPServer
    SaveSetting App.EXEName, "mail", "sendusername", "FelixMacintosh@yandex.ru" 'Ваша учетная запись
    SaveSetting App.EXEName, "mail", "sendpassword", "?????" 'Ваш пароль
End Sub
 
Function Send_Mail(ByVal MailTo As String, ByVal MailFrom As String, ByVal MailSubject As String, _
ByVal MailText As String, Optional ByVal MailAttachment As String = "") As Boolean
    'функция для отправки почты без использования внешних почтовых программ
    '----------------------------------------------------------------------
    'в качестве параметров получает:
    'MailTo - адрес получателя письма
    'MailFrom - адрес отправителя письма
    'MailSubject - тема письма
    'MailText - текст письма
    'MailAttachment - полный путь к файлу вложения (необязательный параметр)
    '----------------------------------------------------------------------
    'возвращает TRUE, если отправка почты произошла успешно, и FALSE в обратном случае
    Const cdoConfigURL = "http://schemas.microsoft.com/cdo/configuration/"
    Dim smtpserver$, sendusername$, sendpassword$
    Dim cdoConfig As Object, cdoMessage As Object
    On Error Resume Next: Err.Clear
    smtpserver = GetSetting(App.EXEName, "mail", "smtpserver", "")
    sendusername = GetSetting(App.EXEName, "mail", "sendusername", "")
    sendpassword = GetSetting(App.EXEName, "mail", "sendpassword", "")
    If Len(smtpserver) = 0 Or Len(sendusername) = 0 Or Len(sendpassword) = 0 Then Exit Function
    Set cdoConfig = CreateObject("CDO.Configuration")
    With cdoConfig.Fields
        .Item(cdoConfigURL & "sendusing") = 2
        .Item(cdoConfigURL & "smtpauthenticate") = 1
        .Item(cdoConfigURL & "smtpserver") = smtpserver
        .Item(cdoConfigURL & "sendusername") = sendusername
        .Item(cdoConfigURL & "sendpassword") = sendpassword
        'для отправки почты с аккаунта @gmail.com
        .Item(cdoConfigURL & "smtpserverport") = 465 'порт для SSL: 465
        .Item(cdoConfigURL & "smtpusessl") = 1 'использовать аутентификацию: да
        .Update
    End With
    Set cdoMessage = CreateObject("CDO.Message")
    With cdoMessage
        Set .Configuration = cdoConfig
        .BodyPart.Charset = "koi8-r"
        .From = MailFrom:
        .To = MailTo
        .Subject = MailSubject
        .TextBody = MailText
        If Len(MailAttachment) > 0 Then .AddAttachment MailAttachment
        .Send
    End With
    Set cdoMessage = Nothing: Set cdoConfig = Nothing
    'If Err.Number = -2147220973 Then MsgBox ("Отсутствует связь с интернетом")
    'If Err.Number = -2147220975 Then MsgBox ("SMTP сервер ответил отказом")
    'If Err.Number = 0 Then MsgBox ("Письмо отправлено")
    Send_Mail = Err = 0
End Function
1
1783 / 765 / 130
Регистрация: 09.04.2011
Сообщений: 1,330
26.06.2014, 13:47
Антихакер32, немного не то (если код в посте выше для меня). Нужно, чтобы открывался браузер IE в почтовике yandex.ru или mail.ru с уже подгруженным для отправки файлом.
Файлы отправляются разные, сопроводиловка и электронные адреса получателей тоже разные.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.06.2014, 13:47

Отправить файл по email
Люди помогите очень нужно. Програма заключатся есть какойто файл (константа). и его нужно скопировать и отправить на эмейл или хостинг...

Не могу отправить email
Всем привет, хочу отправить email, нашел несколько примеров, какие-то работают, а какие-то нет. Вот например: # coding: utf-8 import...

Отправить сообщение на email
У меня есть форма html. Нужно написать код php для отправки сообщения на почту и доработать код html до рабочего состояния. Php не...

Отправить email с вебстраницы
Всем привет. Как я могу сделать форму с которой потом люди скажем смогут мне отправлять комменты? У меня вот есть такой код: ...

Не могу отправить Email в Delphi
procedure TForm2.Button1Click(Sender: TObject); begin idSmtp1.Host := 'SMTP.yandex.ru'; idSmtp1.Port := 25; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи. . . .
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru