Форум программистов, компьютерный форум, киберфорум
Pure Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379

Отсылка сообщения на e-mail в PureBasic

22.03.2011, 17:40. Показов 4901. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
;------------------------------------------------------------------------------------------------------------------------------------------------------------
MySMTPServer.s = "mail.rambler.ru"
MySMTPPort.l = 25
If PureSMTP_OpenSMTPConnection(MySMTPServer, MySMTPPort) = #PureSMTP_Ok
   Debug PureSMTP_GetLastServerMessage()
   Status.l = PureSMTP_SendMail("моё мыло@rambler.ru","моё мыло@rambler.ru","sss","sss","","tema","пароль")
   If Status = #PureSMTP_Ok
      Debug "Message : sent"
      Debug "Status = " + Str(Status)
   Else
      Debug "Message : something went wrong !"
      Debug "Status = " + Str(Status)
      Debug PureSMTP_GetLastServerMessage()
   EndIf
   PureSMTP_CloseSMTPConnection()
Else
   Debug "OpenSMTPConnection failed"
   Debug PureSMTP_GetLastServerMessage()
EndIf 
Beep_(200,200)
;----------------------------------------------------------------------------------------------------------------------------------------------------------------
Эта программа должна слать мне письма на мой e-mail. Но писем неприходят. В чём ошибка?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.03.2011, 17:40
Ответы с готовыми решениями:

Отсылка сообщения с аттачем из Excel
Почитал вот в форуме, как надо отправлять и ехеля почту, а вот как прилипить файл, к письму, что-то не выходит Может кто знает какое-то...

Отсылка Memo по ICQ или e-mail
Как сделать чтобы программа все записаное в memo, после того как запишет все необходимое отсылала текст в аську или на почту. Плз...

Авто отсылка поиска на go.mail и time-to-read
при запуске открывается тайм ту рид,куча реклами и при поиске в гугл переадресовывает в go.mail .Очень прошу помочь

20
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
22.03.2011, 18:59
У меня приходят письма, правда, юзал 587 порт, потому что провайдер ****, закрыл ***, 25 порт!
Предполагаю что неправильно заполнена строка.
Code
1
Status.l = PureSMTP_SendMail("моё мыло@rambler.ru","моё мыло@rambler.ru","sss","sss","","tema","пароль")
В место "tema", должен быть логин мыла.
Скажем, если отсылаем инфу на мыло MyMail@rambler.ru? , то в предпоследнем аргументе, должно быть "MyMail".

PS.
Вот раздел для бейсика https://www.cyberforum.ru/basic/
0
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379
22.03.2011, 19:56  [ТС]
Я вооюще не очень понял что нужно вставить а строке "Status.l = PureSMTP_SendMail()" в скобках. Подскажите пожалуйста.
PureBasic
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
;---------------------------------------------------------------------------------------------
; PureSMTP library test file AUTHENTICATION
;
MySMTPServer.s = "mail.rambler.ru"
MySMTPPort.l = 25
If PureSMTP_OpenSMTPConnection(MySMTPServer, MySMTPPort) = #PureSMTP_Ok
   Debug PureSMTP_GetLastServerMessage()
   ; sending mail
      Status.l = PureSMTP_SendMail()  ;<=   <=   <=   <=   <=   <=
   
   If Status = #PureSMTP_Ok
      Debug "Message : sent"
      Debug "Status = " + Str(Status)
   Else
      Debug "Message : something went wrong !"
      Debug "Status = " + Str(Status)
      Debug PureSMTP_GetLastServerMessage()
   EndIf
   PureSMTP_CloseSMTPConnection()
Else
   Debug "OpenSMTPConnection failed"
   Debug PureSMTP_GetLastServerMessage()
EndIf 
 
Beep_(200,200)
;----------------------------------------------------------------------------------------------
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
22.03.2011, 21:05
Code
1
PureSMTP_SendMail(MailTo.s, MailFrom.s, Subject.s, MsgBody.s [, Attachments.s [, UserName.s [, Password.s [, HeaderAddon.s]]]])
MailTo - адрес мейла куда надо отослать письмо (скажем, Send@rambler.ru).
MailFrom - адрес мейла из которого отсылается письмо (скажем, MyMail@rambler.ru).
Subject - Тема письма.
MsgBody - Текст письма.
Attachments - вложение письма.
UserName - логин мейла-отправителя (в нашем случае - MyMail)
Password - пароль мейла-отправителя (в нашем случае пароль мейла MyMail@rambler.ru)
0
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379
22.03.2011, 22:45  [ТС]
А "HeaderAddon.s" это что?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
22.03.2011, 23:31
Цитата Сообщение от Илья01 Посмотреть сообщение
А "HeaderAddon.s" это что?
Из справки
Optional header :

You can add a header text with the optional parameter HeaderAddon.
Example : HeaderAddon.s = "Date: 05 May 2005 12:00:00".
параметр необязательный и он может отсутствовать при вызове функции.
0
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379
23.03.2011, 00:39  [ТС]
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
;----------------------------------------------------------------------------------------
MySMTPServer.s = "smtp.gmail.com"
MySMTPPort.l = 25
If PureSMTP_OpenSMTPConnection(MySMTPServer, MySMTPPort) = #PureSMTP_Ok
   Debug PureSMTP_GetLastServerMessage()
   ; sending mail
   Status.l = PureSMTP_SendMail("pavel479@gmail.ru", "pavel479@gmail.ru", "tema","text","", "pavel479@gmail.ru","7391852s")
   If Status = #PureSMTP_Ok
      Debug "Message : sent"
      Debug "Status = " + Str(Status)
   Else
      Debug "Message : something went wrong !"
      Debug "Status = " + Str(Status)
      Debug PureSMTP_GetLastServerMessage()
   EndIf
   PureSMTP_CloseSMTPConnection()
Else
   Debug "OpenSMTPConnection failed"
   Debug PureSMTP_GetLastServerMessage()
EndIf 
Beep_(200,200)
;----------------------------------------------------------------------------------------
Да вроде здесь всё правильно. Я тут уж пароль не стал эаменять, да всё равно это не мой ящик. Что здесь теперь не то?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
23.03.2011, 00:52
Отправить письмо на гугл не так просто как кажется.
Ругается:
530 5.7.0 Must issue a STARTTLS command
0
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379
23.03.2011, 14:04  [ТС]
Да я знаю что ругается. Мой вопрос, как это исправить? Может не на гугл, но тогда на что? Может текст кода какнибудь изменить?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
23.03.2011, 14:09
Цитата Сообщение от Илья01 Посмотреть сообщение
Может не на гугл, но тогда на что?
Нужно отсылать письма именно на гугл? Вроде он поддерживает отправки писем через SMTP, хотя хз.
Другие почтовые системы (тот же рамблер) не подойдут?
0
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379
23.03.2011, 15:03  [ТС]
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
MySMTPServer.s = "smtp.mail.com"
MySMTPPort.l = 25
If PureSMTP_OpenSMTPConnection(MySMTPServer, MySMTPPort) = #PureSMTP_Ok
   Debug PureSMTP_GetLastServerMessage()
   ; sending mail
   Status.l = PureSMTP_SendMail("Vsevolod-s10@mail.ru", "Vsevolod-s10@mail.ru", "tema","text","", "Vsevolod-s10@mail.ru","7391852s")
   If Status = #PureSMTP_Ok
      Debug "Message : sent"
      Debug "Status = " + Str(Status)
   Else
      Debug "Message : something went wrong !"
      Debug "Status = " + Str(Status)
      Debug PureSMTP_GetLastServerMessage()
   EndIf
   PureSMTP_CloseSMTPConnection()
Else
   Debug "OpenSMTPConnection failed"
   Debug PureSMTP_GetLastServerMessage()
EndIf 
Beep_(200,200)
Да нет, необязательно на гугл, моя задача отослать письмо с прекреплённым текстовым файлом с одного ящика себе же на тотже ящик. Где этот ящик находится неважно, на рамблере или на мэйле. Эту программу я взял из справки. Когда я запускаю эту программу мне в debugе пишут "Message : something went wrong!" что означает - что то пошло нетак. Я создал ящик на мейле и в этой программе привёл свои реальные логин и пароль этого ящика. Подскажите пожалуйста саму причину почему письма не приходят и в debuge пишут "Message : something went wrong!". Я в коде напутал или что?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
23.03.2011, 15:41
Почему сервер smtp.mail.com, а отсылаешь на mail.ru?
Вот поэтому и ошибка при передаче.
Если исправить на smtp.mail.ru то все ОК.
Письмо пришло на почту, только что проверил.
0
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379
23.03.2011, 17:10  [ТС]
Да, я видел письмо, и свою ошибку исправил. За это большое спасибо. Но вы точно ничего кроме mail.COM не изменяли? Я исправил ошибку и запустил, но в debuge написали:

Code
1
2
3
4
220 smtp3.mail.ru ESMTP ready
Message : something went wrong !
Status = -1
220 smtp3.mail.ru ESMTP ready
И письмо кроме вашего не пришло. Может вы ещё что нибудь изменили в программе но забыли сказать? Или может дело в версии PureBasic?
Исправленная версия программы:
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
MySMTPServer.s = "smtp.mail.ru"
MySMTPPort.l = 25
If PureSMTP_OpenSMTPConnection(MySMTPServer, MySMTPPort) = #PureSMTP_Ok
   Debug PureSMTP_GetLastServerMessage()
   ; sending mail
   Status.l = PureSMTP_SendMail("Vsevolod-s10@mail.ru", "Vsevolod-s10@mail.ru", "Vsevolod-s10@mail.ru","Vsevolod-s10@mail.ru","Vsevolod-s10@mail.ru", "Vsevolod-s10@mail.ru","7391852s")
   If Status = #PureSMTP_Ok
      Debug "Message : sent"
      Debug "Status = " + Str(Status)
   Else
      Debug "Message : something went wrong !"
      Debug "Status = " + Str(Status)
      Debug PureSMTP_GetLastServerMessage()
   EndIf
   PureSMTP_CloseSMTPConnection()
Else
   Debug "OpenSMTPConnection failed"
   Debug PureSMTP_GetLastServerMessage()
EndIf 
Beep_(200,200)
Подскажите пожалуйста, почему даже после исправления ошибки программа неработает?
Миниатюры
Отсылка сообщения на e-mail в PureBasic  
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
23.03.2011, 17:16
Так отправляет.
Было некорректно заполнено поле Attachments.
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
MySMTPServer.s = "smtp.mail.ru"
MySMTPPort.l = 25 ; 587
If PureSMTP_OpenSMTPConnection(MySMTPServer, MySMTPPort) = #PureSMTP_Ok
   Debug PureSMTP_GetLastServerMessage()
   ; sending mail
   Status.l = PureSMTP_SendMail("Vsevolod-s10@mail.ru", "Vsevolod-s10@mail.ru", "Vsevolod-s10@mail.ru","Vsevolod-s10@mail.ru","", "Vsevolod-s10","7391852s")
   If Status = #PureSMTP_Ok
      Debug "Message : sent"
      Debug "Status = " + Str(Status)
   Else
      Debug "Message : something went wrong !"
      Debug "Status = " + Str(Status)
      Debug PureSMTP_GetLastServerMessage()
   EndIf
   PureSMTP_CloseSMTPConnection()
Else
   Debug "OpenSMTPConnection failed"
   Debug PureSMTP_GetLastServerMessage()
EndIf 
Beep_(200,200)
0
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379
23.03.2011, 18:53  [ТС]
Хм, странно. Когда я запустил эту программу у меня программа зависла на строке "Status.l = PureSMTP_SendMail("Vsevolod-s10@mail.ru", "Vsevolod-s10@mail.ru", "Vsevolod-s10@mail.ru","Vsevolod-s10@mail.ru","", "Vsevolod-s10","7391852s")". Может дело в версии Pure Basic?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
23.03.2011, 19:12
Цитата Сообщение от Илья01 Посмотреть сообщение
Хм, странно. Когда я запустил эту программу у меня программа зависла на строке
Или доступ в инет заблокирован, скажем, файерволом, или провайдер закрыл 25 порт. Раньше письма отправлялись через 25 порт?

Цитата Сообщение от Илья01 Посмотреть сообщение
Может дело в версии Pure Basic?
Какая у вас версия?
Использовал PureBasic 4.51 и ничего не висло - письма сразу отправлялись.
1
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379
23.03.2011, 22:13  [ТС]
У меня PureBasic 4.30, но только что я нашёл в интернете PB 4.51 и на PB 4.51 письмо отправляются. Спасибо.
0
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379
06.09.2011, 23:29  [ТС]
Здравствуйте, хотелось бы поднять старую тему вот зачем: Мне нужно прикрепить не один файл, а 2. Скажите пожалуйста как это сделать?
PureBasic
1
2
3
4
5
6
7
8
MySMTPServer.s = "smtp.mail.ru"
MySMTPPort.l = 25 ;587
If PureSMTP_OpenSMTPConnection(MySMTPServer, MySMTPPort) = #PureSMTP_Ok
  PureSMTP_SetContentType("text/html; charset=windows-1251")
  Status.l = PureSMTP_SendMail("Vsevolod-s10@mail.ru", "Vsevolod-s10@mail.ru","Тема","Текст письма","C:/FactoryLog.txt","Vsevolod-s10","7391852s", "Content-Type: text/html; charset=windows-1251")
  Debug Status
  Debug PureSMTP_GetLastServerMessage()
EndIf
0
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379
08.09.2011, 16:58  [ТС]
Странно, с какого то момента мне на этом форуме перестали отвечать Пишу вроде без ошибок, неужели я тут всем так надоел? Или все обижены что однажды сделал робкую попытку обсудить здесь взлом контакта? Надеюсь что нет! Надеюсь на меня некто не обижен, и просто моя тема не отображается курсивом и её не кто не замечает.
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
25.09.2011, 20:24
Цитата Сообщение от Илья01 Посмотреть сообщение
Мне нужно прикрепить не один файл, а 2. Скажите пожалуйста как это сделать?
Если верить справке, то путь к файлам нужно разделять точкой с запятой.
Code
1
2
3
4
5
6
7
8
MySMTPServer.s = "smtp.mail.ru"
MySMTPPort.l = 25 ;587
If PureSMTP_OpenSMTPConnection(MySMTPServer, MySMTPPort) = #PureSMTP_Ok
  PureSMTP_SetContentType("text/html; charset=windows-1251")
  Status.l = PureSMTP_SendMail("Vsevolod-s10@mail.ru", "Vsevolod-s10@mail.ru","Тема","Текст письма","C:\FactoryLog.txt;D:\MyFile.txt","Vsevolod-s10","7391852s", "Content-Type: text/html; charset=windows-1251")
  Debug Status
  Debug PureSMTP_GetLastServerMessage()
EndIf
Цитата Сообщение от Илья01 Посмотреть сообщение
Странно, с какого то момента мне на этом форуме перестали отвечать
Скорее всего потому, что тема создана не в том разделе. Нужно было создать ее здесь.
Форум довольно объемный и сложно просматривать все существующие разделы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.09.2011, 20:24
Помогаю со студенческими работами здесь

Отсылка сообщения окну, зная его Handle (PostMessage)
Не знаю, по адресу ли я обратился :( В общем, в виндовозовской библиотеке &quot;user32.dll&quot; есть функция PostMessage. Вот её заголовок на...

Программно поиск сообщения в e-mail от @xxx.xxx. С аккаунта любого e-mail сервиса, gmail, ya, mail и т.п
в программе нужно авторизоваться в мыле, найти сообщение от @xxxx.xxx, и получить содержание этого письма. Как реализовать проще и надежнее?

Автоматическая отсылка e-mail через 4 часа, после запуска определенной формы
Привет Всем! Я обращаюсь с таким вопросом, кто может подскажите, буду презнателен. Если я хочу реализовать автоматическую отсылку письма,...

В файле mail.tpl не выводится заголовок сообщения {$subject} и текст сообщения {$message}
ребят помогите разобраться, изначально у меня все выводилось через функцию popupWindow вот сама функция JS function...

Отправка сообщения на E-mail
Как осуществить отправку (html) сообщения на E-mail. На e-mail с переменной $mail и текстом с переменой $txet


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru