locked
Visual basic 2008 программная отправка email через proxy RRS feed

  • Вопрос

  • Пытаюсь отправить письмо из программы. Но никак не получается. Много примеров перебрал, но так и не нашел с применением прокси. Может кто поделиться примером, или хотя бы скажет, где указывать прокси. Буду очень признателен!
    1 апреля 2013 г. 3:26

Ответы

  • Какой у вас прокси? Стандартные HTTP прокси поддерживают только HTTP траффик, и в SmtpClient способов работы с ними, естественно, нет.

    Для не http-прокси (socks5, например) гугл подсказывает несколько готовых решений.

    1 апреля 2013 г. 16:05

Все ответы

  • А какие типы вы используете для работы с почтой?
    1 апреля 2013 г. 11:52
    Модератор
  • Без прокси, я использую такой код:

    Private Sub SendMailUsingGMAIL(ByVal fromAddress As String, ByVal toAddress As String, ByVal tocc As String, ByVal mailsubject As String, ByVal msgContent As String, ByVal strAttachment As String, ByVal isBodyHTML As Boolean)
            Dim retvar As Integer = 0
    
            Try
                Dim mailMessage As MailMessage = New MailMessage(New MailAddress(fromAddress), New MailAddress(toAddress))
                mailMessage.Subject = mailsubject
                mailMessage.IsBodyHtml = isBodyHTML
                mailMessage.Body = msgContent
                If (tocc <> "") Then
                    mailMessage.CC.Add(tocc)
                End If
    
                Dim networkCredentials As System.Net.NetworkCredential = New System.Net.NetworkCredential("myMail@gmail.com", "mypass") 
                Dim smtpClient As SmtpClient = New SmtpClient()
                smtpClient.EnableSsl = True
                smtpClient.UseDefaultCredentials = False
                smtpClient.Credentials = networkCredentials
                smtpClient.Host = "smtp.gmail.com"
                smtpClient.Port = 587
                smtpClient.Send(mailMessage)
    
            Catch e As Exception
                retvar = -1
                Console.WriteLine("{0} Exception caught.", e)
            End Try
            Return
        End Sub
    А вот как, явно указать прокси?

    1 апреля 2013 г. 12:55
  • Какой у вас прокси? Стандартные HTTP прокси поддерживают только HTTP траффик, и в SmtpClient способов работы с ними, естественно, нет.

    Для не http-прокси (socks5, например) гугл подсказывает несколько готовых решений.

    1 апреля 2013 г. 16:05
  • Если через http работать, то как я понимаю, нужно использовать get и post? Если да, то можно хоть небольшой  пример. Уж очень я долго с этим разбираюсь.
    2 апреля 2013 г. 2:46
  • Привет. Протоколы http и smpt работают по разному и как вам уже сказали get-ом или post-ом http протокола почту не получится отправить. Только если вы передадите необходимые данные серверной стороне, а она уже черезм smtp без прокси или через socks5 - SMTP over Socks Proxy

    Для связи [mail]

    8 апреля 2013 г. 14:07
    Модератор