На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! Правила раздела Visual Basic: Общие вопросы
Здесь обсуждаются вопросы по языку Visual Basic 1-6 (а так же по схожим языкам, как, например, PowerBASIC).
Вопросы по Visual Basic .NET (это который входит в состав Visual Studio 2002/2003/2005/2008+, для тех, кто не в курсе) обсуждаются в разделе .NET.

Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что Вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются. Студенты, вам сюда: ПОМОЩЬ СТУДЕНТАМ!
4. Используйте теги [ code=vba ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Формулируйте свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной (и более) давности, без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта user posted image FAQ Раздела user posted image Кладовка user posted image Наши Исходники user posted image API-Guide user posted image Поиск по Разделу user posted image MSDN Library Online user posted image Google

Ваше мнение о модераторах: user posted image SCINER, user posted image B.V.
Модераторы: SCINER, B.V.
  
> Отправка письма, 465 порт
    Здравствуйте!

    Есть чудесная программа по отправке писем.
    Но при попытке отправить с сервера mail.ru выдаёт, что нужно только SSL or TLS соединение.

    Подскажите, пожалуйста, можно ли как-то исправить ситуацию?
    Возможно, это не только мне пригодится ;)
    Прикреплённый файлПрикреплённый файлvbSendMail.rar (198,79 Кбайт, скачиваний: 23)
    log(2 ^ 232.582.657)-1 is prime!
      помогли на другом форуме, работает!

      ExpandedWrap disabled
        Option Explicit
         
         
        Private Sub Form_Load()
            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
         
        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
            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
      Сообщение отредактировано: salieri -
      log(2 ^ 232.582.657)-1 is prime!
      1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script Execution time: 0,0702 ]   [ 17 queries used ]   [ Generated: 23.09.19, 01:20 GMT ]