Отправка почты

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Отправка почты

Сообщение Dmitriy Solomnikov » 27.11.2006 (Пн) 14:22

Надо програмно отправлять почту через Exchange. Полазил в нете - понял, что во фрейморке (1.1) нет такой возможности. Народ пользуется CDO.

Соответственно вопрос - нет ли у кого инфы как пользоваться этой библиотекой - что дложно стоять на компе, что и откуда импортировать?

И еще - может есть полезные ссылочки? на статейку какую? или код?



А вообще основная задача - отправлять письма без SMTP, т.к. в домене поднят Exchange.
Моя дверь всегда открыта, если она не закрыта.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 27.11.2006 (Пн) 17:26

-Сохраняй сообщения в PickUpDirectory

-Подключить COM CDO 1.2 ? создать Message, забить свойства, .Send.

-Шо значит без Smtp ?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 27.11.2006 (Пн) 18:18

Sebas писал(а):Сохраняй сообщения в PickUpDirectory
-Подключить COM CDO 1.2 ? создать Message, забить свойства, .Send.
-Шо значит без Smtp ?



В моей подсети косяк какой-то - не могу достучаться до smtp-сервера. Но, поскольку почтой я пользуюсь значит есть возможность работать с ней по другим протоколам.

Вот сижу и парюсь уже пол дня.


PS: сильно только не пинайте, я с почтой пока не работал... тк что не всегда понимаю, что шаманю ))
Моя дверь всегда открыта, если она не закрыта.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 27.11.2006 (Пн) 19:32

Dmitriy Solomnikov писал(а):В моей подсети косяк какой-то - не могу достучаться до smtp-сервера


Может проще разобраться с доступом к серверу? Если Вы отправляете не через SMTP, то через RPC Exchange аккаунт. Правильно? Из Нет, я думаю, это будет сделать проблемматично...
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 27.11.2006 (Пн) 20:27

Sebas писал(а):
Dmitriy Solomnikov писал(а):В моей подсети косяк какой-то - не могу достучаться до smtp-сервера


Может проще разобраться с доступом к серверу? Если Вы отправляете не через SMTP, то через RPC Exchange аккаунт. Правильно? Из Нет, я думаю, это будет сделать проблемматично...


Это полохо, потому что рзобраться никак не получится - пару раз пробовали и безрезультатно, хоть сам садись маршруты смотри...
Моя дверь всегда открыта, если она не закрыта.

student-uni
Бывалый
Бывалый
 
Сообщения: 242
Зарегистрирован: 01.10.2005 (Сб) 18:54

Сообщение student-uni » 27.11.2006 (Пн) 23:40

Был где то пример - там в SMTP чудак прописал localhost,
многие файрволлы пропускали.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 28.11.2006 (Вт) 8:34

student-uni писал(а):Был где то пример - там в SMTP чудак прописал localhost,
многие файрволлы пропускали.


Господа, Вы хоть отдаёте себе отчёт в том, что пишете?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 28.11.2006 (Вт) 8:35

Dmitriy Solomnikov

Неужели так всё сложно? Прикопать админа.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

student-uni
Бывалый
Бывалый
 
Сообщения: 242
Зарегистрирован: 01.10.2005 (Сб) 18:54

Сообщение student-uni » 28.11.2006 (Вт) 9:44

Вот как на втором!! фреймворке можно отправлять почту не прописывая SMTP

Код: Выделить всё
Private Sub MailSend()

     

        Dim filePath As String = Path.Combine(System.Environment.CurrentDirectory, strAttachFileName) 'Private

        Dim fileStream As FileStream = Nothing




        Try
            Dim settings() As Object = New Object() {TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox10.Text, TextBox8.Text, TextBox4.Text, TextBox5.Text, TextBox6.Text, TextBox7.Text, ComboBox2.SelectedIndex}
            Dim formatter As New BinaryFormatter
            fileStream = File.Open(filePath, FileMode.Create)
            formatter.Serialize(fileStream, settings)
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If fileStream IsNot Nothing Then fileStream.Close()
        End Try



        VersandStatusOK = False

        Dim strBody As String
        strBody = "bla bla," _
+ " " + Chr(10) + Chr(13) _
+ Chr(10) + Chr(13)


        Dim message As MailMessage



        If System.Environment.MachineName.ToString = "myPC" Then

            message = New MailMessage(TextBox7.Text, "myMail@mail.ru", "About", strBody)
        Else
            message = New MailMessage(TextBox7.Text, "myMail@mail.ru", "About", strBody)
        End If




        Dim data As Attachment = New Attachment(strAttachFileName)
       



        message.Attachments.Add(data)






        Dim myClient As New Net.Mail.SmtpClient()

        myClient.Host = "localhost"

        myClient.DeliveryMethod = Net.Mail.SmtpDeliveryMethod.PickupDirectoryFromIis


        Try
           
            myClient.Send(message)

            MessageBox.Show("Bla Bla", _
                  "Status", _
                 MessageBoxButtons.OK, MessageBoxIcon.Information)
            VersandStatusOK = True '
        Catch ex As Exception
            MessageBox.Show("Error: " & ex.Message, "Error", _
                  MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
            VersandStatusOK = False 'ex.Message
        End Try






    End Sub

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 28.11.2006 (Вт) 14:46

- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 29.11.2006 (Ср) 16:15

Sebas писал(а):Dmitriy Solomnikov
Неужели так всё сложно? Прикопать админа.


Да себас - совсем не просто. Я их уже год топчу - только толку мало. административный ресурс тоже не работает :pukel: .

Вроде сделал через CDO+Redemption, но пока кривовато работает - вернее работает только у меня )). На тестовой машине выдает COMException - "COM Object with CLSID ... is ither not valid or not regidtred".

Интересно на какую он библу из двух ругается ругается :?: :pale:
Моя дверь всегда открыта, если она не закрыта.

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 29.11.2006 (Ср) 16:25

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

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 29.11.2006 (Ср) 17:10

не! так и сделал - видимо она registred но не valid.

PS: Outlook там стоит и даже настроен.
Моя дверь всегда открыта, если она не закрыта.

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 29.11.2006 (Ср) 17:30

ну тогда положи эти лайбы в одну директорию со своей прогой
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 29.11.2006 (Ср) 17:51

lord0n писал(а):ну тогда положи эти лайбы в одну директорию со своей прогой


и это тоже было... результат тот же
Моя дверь всегда открыта, если она не закрыта.

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 30.11.2006 (Чт) 9:25

Dmitriy Solomnikov писал(а):
lord0n писал(а):ну тогда положи эти лайбы в одну директорию со своей прогой


и это тоже было... результат тот же


Хммммммммм, странно, у меня вроде сразу начинает работать
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 30.11.2006 (Чт) 20:22

lord0n писал(а):Хммммммммм, странно, у меня вроде сразу начинает работать


А можешь для сравнения кодом поделиться? Я просто делал с использованием Redemption - валится именно он. Если у тебя есть реализация без его использования - было бы очень не полохо.
Моя дверь всегда открыта, если она не закрыта.


Вернуться в Visual Basic .NET

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 103

    TopList