Модераторы: diadiavova, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание почтовой программы, Помогите с созданием почтовой программы 
:(
    Опции темы
Revan
Дата 12.10.2007, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 12.10.2007
Где: Иваново

Репутация: нет
Всего: нет



Помогите,пожалуйста,с созданием почтовой программы ввида Microsoft Office Outlook. Буду признателен за любую помощь! 
PM MAIL ICQ YIM MSN   Вверх
alexburzak
  Дата 13.10.2007, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 12.3.2007
Где: Hadera

Репутация: нет
Всего: 1



 smile 
Наверное ты ставишь сильно общую задачу, поэтому никто и не пишет тебе.
Давай попробуем сначало просто создать виндоус приложение и отслать какой нибудь текст себе(мне) на почту.
Например вот код:
Код

    Public Function SendMail(ByVal strFrom As String, ByVal strTo As String, ByVal strSubject As String, ByVal strText As String) As String
        Dim mmMail As New MailMessage(strFrom, strTo, strSubject, strText)
        With mmMail
            .IsBodyHtml = True
            .SubjectEncoding = System.Text.Encoding.GetEncoding("utf-8")
            .BodyEncoding = System.Text.Encoding.GetEncoding("utf-8")
        End With
        Dim scLogicPC As New SmtpClient("mail.myhost.co.il")
        scLogicPC.Credentials = New NetworkCredential("[email protected]", "erthdkjsfdssd")
        Try
            scLogicPC.Send(mmMail)
        Catch ex As Exception
            'Sorry . . .
            Return "Error " & ex.Message()
        End Try
        Return "Yes!"
    End Function

Если получится будем думать дальше, если нет то говори, что.  smile 
PM   Вверх
Revan
Дата 14.10.2007, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 12.10.2007
Где: Иваново

Репутация: нет
Всего: нет



Вот ты написал код отправки письма, а как его отправить, например, кнопкой.

Добавлено через 2 минуты и 12 секунд
Если можно, то писать по этой теме можно всё, мне многое интересно: и коды и предложения!
PM MAIL ICQ YIM MSN   Вверх
alexburzak
  Дата 14.10.2007, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 12.3.2007
Где: Hadera

Репутация: нет
Всего: 1



 smile Вот ты задаешь вопросы ответ на каторый есть в книжках на уровне начинаюшего.
    Запускаешь VS 2005.
    берешь форму.
    на нее перетаскиваешь кнопку.
    два раза шелкаешь на этой кнопке.
    автоматом входишь в режим редактирования обработчика этой кнопки.
    В этом обработчике тупо копируешь мой код(без функции) + незабываешь что тебе нужн хост и акаунт.
    Компилируешь и запускаешь и идешь к холлодильнику за пивом.  smile
 smile 
Одназначно, купи(найди) книжку для начинающих. Если хочешь могу посоветовать. Луче в личку или на почту.
PM   Вверх
gta4kv
Дата 15.10.2007, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: нет
Всего: 91



alexburzak, раз уж началось обсуждение, скажу что такого как "MailMessage" студия не знает smile

Добавлено через 10 минут и 13 секунд
Цитата(gta4kv @ 15.10.2007,  20:56)
alexburzak, раз уж началось обсуждение, скажу что такого как "MailMessage" студия не знает smile

Наврал, ддл-ка не подключена была, сорри )
PM MAIL   Вверх
gta4kv
Дата 15.10.2007, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: нет
Всего: 91



Цитата(gta4kv @ 15.10.2007,  20:56)
alexburzak, раз уж началось обсуждение, скажу что такого как "MailMessage" студия не знает smile

Добавлено @ 21:07
Цитата(gta4kv @ 15.10.2007,  20:56)
alexburzak, раз уж началось обсуждение, скажу что такого как "MailMessage" студия не знает smile

Наврал, ддл-ка не подключена была, сорри )

alexburzak, а как отправить письмо без smtp сервера? ( заголовками т.е )
PM MAIL   Вверх
alexburzak
  Дата 15.10.2007, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 12.3.2007
Где: Hadera

Репутация: нет
Всего: 1



Цитата(gta4kv @ 15.10.2007,  21:14)
alexburzak, а как отправить письмо без smtp сервера? ( заголовками т.е )

Сори это не ко мне.  smile 
PM   Вверх
tol05
Дата 15.10.2007, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 1
Всего: 170



Цитата(gta4kv @  15.10.2007,  21:14 Найти цитируемый пост)
alexburzak, а как отправить письмо без smtp сервера? ( заголовками т.е ) 

если получится открыть сокет на 25 порт, то можно отправить потоком что-угодно и без чего угодно  smile 


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
gta4kv
Дата 16.10.2007, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: нет
Всего: 91



Цитата(tol05 @ 15.10.2007,  23:06)
Цитата(gta4kv @  15.10.2007,  21:14 Найти цитируемый пост)
alexburzak, а как отправить письмо без smtp сервера? ( заголовками т.е ) 

если получится открыть сокет на 25 порт, то можно отправить потоком что-угодно и без чего угодно  smile

Э, ну тогда как бы  smile 
PM MAIL   Вверх
tol05
Дата 16.10.2007, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 1
Всего: 170



gta4kv, задержал пример, т.к.:
- не очень хорошо знаю (знал smile, счас чуть лучше) протокол SMTP
- много работы днем... 

Пример : посылка сообщения с сервера mail.ru на ... да все равно куда. Просто mail.ru требует авторизации Base64, а другой сервер - может чего-то другого,.. если что - гугл в руки

Пример на шарпе, извини. Думаю, проблем с чтением кода быть не должно

Код

using System;
using System.Net.Sockets;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static TcpClient;

        static byte[] buffer;
        static NetworkStream stream;
        static byte[] data;

        static void Main(string[] args)
        {
            buffer = new byte[1024];
            client = new TcpClient("smtp.list.ru", 25);
            stream = new NetworkStream(client.Client);

            SendReceive("EHLO smtp.list.ru", false);
            SendReceive("AUTH LOGIN", false);

            SendReceive("tol05", true);
            SendReceive("..............................................", true);//извини, пароль дать не могу :)

            SendReceive("MAIL FROM:<[email protected]>", false);
            SendReceive("RCPT TO:<[email protected]>", false);
            SendReceive("DATA", false);
            SendReceive("ПРИВЕТ." + Environment.NewLine, false);
            SendReceive("." + Environment.NewLine, false);
            SendReceive("QUIT", false);

            stream.Close();
            client.Close();
        }

        private static void SendReceive(string message, bool encode)
        {
            if(encode)
            {
                message = Convert.ToBase64String(Encoding.ASCII.GetBytes(message));
            }
            Console.WriteLine(message);
            data = Encoding.ASCII.GetBytes(message + Environment.NewLine);
            stream.Write(data, 0, data.Length);

            client.Client.Receive(buffer);
            Console.WriteLine(Encoding.ASCII.GetString(buffer));
        }
    }
}



P.S. да, писать/читать можно также только через сокет, или через поток, так что и сокет и поток не обязательно юзать вместе... Просто для наглядности оставил...

Это сообщение отредактировал(а) tol05 - 16.10.2007, 23:49


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Revan
Дата 17.10.2007, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 12.10.2007
Где: Иваново

Репутация: нет
Всего: нет



Цитата(alexburzak @ 14.10.2007,  17:27)
smile Вот ты задаешь вопросы ответ на каторый есть в книжках на уровне начинаюшего.
    Запускаешь VS 2005.
    берешь форму.
    на нее перетаскиваешь кнопку.
    два раза шелкаешь на этой кнопке.
    автоматом входишь в режим редактирования обработчика этой кнопки.
    В этом обработчике тупо копируешь мой код(без функции) + незабываешь что тебе нужн хост и акаунт.
    Компилируешь и запускаешь и идешь к холлодильнику за пивом.  smile
 smile 
Одназначно, купи(найди) книжку для начинающих. Если хочешь могу посоветовать. Луче в личку или на почту.

Я знаю основу и чуть больше я уже прочитал 3 толстых книжки, я имею виду как ты собирался объявлять переменные, которые ты использушь в самом начале не через функцию? Чтобы не вызвать ошибки. Я хорошо занимаюсь основой и дизайном, а вот по поводу там всяких сокетов и других трудностей, как например отправка сообщений, я не знаю, вот я и создал эту тему. Так как я хочу научиться всему этому. Я расчитываю на вашу поддержку.
PM MAIL ICQ YIM MSN   Вверх
alexburzak
  Дата 17.10.2007, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 12.3.2007
Где: Hadera

Репутация: нет
Всего: 1



Цитата(Revan @ 17.10.2007,  14:19)
Я расчитываю на вашу поддержку.
Yt

Без проблем получишь.
Переменные обявляются вот так(Синтакс VB.NET):
Dim mmMail As New MailMessage()
Не забудь прописать импорты(gta4kv забыл).
Imports System.[Поиск в MSDN и Google(также можно спрашивать но лучше попробуй поискать сам)]
Какие еще вопросы не понятны?
 smile 
PM   Вверх
gta4kv
Дата 18.10.2007, 05:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: нет
Всего: 91



Цитата(tol05 @ 16.10.2007,  23:45)
gta4kv, задержал пример, т.к.:
- не очень хорошо знаю (знал smile, счас чуть лучше) протокол SMTP
- много работы днем... 

Пример : посылка сообщения с сервера mail.ru на ... да все равно куда. Просто mail.ru требует авторизации Base64, а другой сервер - может чего-то другого,.. если что - гугл в руки

Пример на шарпе, извини. Думаю, проблем с чтением кода быть не должно

Код

using System;
using System.Net.Sockets;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static TcpClient;

        static byte[] buffer;
        static NetworkStream stream;
        static byte[] data;

        static void Main(string[] args)
        {
            buffer = new byte[1024];
            client = new TcpClient("smtp.list.ru", 25);
            stream = new NetworkStream(client.Client);

            SendReceive("EHLO smtp.list.ru", false);
            SendReceive("AUTH LOGIN", false);

            SendReceive("tol05", true);
            SendReceive("..............................................", true);//извини, пароль дать не могу :)

            SendReceive("MAIL FROM:<[email protected]>", false);
            SendReceive("RCPT TO:<[email protected]>", false);
            SendReceive("DATA", false);
            SendReceive("ПРИВЕТ." + Environment.NewLine, false);
            SendReceive("." + Environment.NewLine, false);
            SendReceive("QUIT", false);

            stream.Close();
            client.Close();
        }

        private static void SendReceive(string message, bool encode)
        {
            if(encode)
            {
                message = Convert.ToBase64String(Encoding.ASCII.GetBytes(message));
            }
            Console.WriteLine(message);
            data = Encoding.ASCII.GetBytes(message + Environment.NewLine);
            stream.Write(data, 0, data.Length);

            client.Client.Receive(buffer);
            Console.WriteLine(Encoding.ASCII.GetString(buffer));
        }
    }
}



P.S. да, писать/читать можно также только через сокет, или через поток, так что и сокет и поток не обязательно юзать вместе... Просто для наглядности оставил...

Блин! Я же просил без сервера ))

Цитата
alexburzak, а как отправить письмо без smtp сервера? ( заголовками т.е ) 

PM MAIL   Вверх
tol05
Дата 18.10.2007, 07:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 1
Всего: 170



Цитата(gta4kv @  18.10.2007,  05:45 Найти цитируемый пост)
Блин! Я же просил без сервера ))

а как это, совсем без сервера? В космос послать поток? Может лет через 200 кто-то ответит?

Сокет с твоего компа должен подконнектиться к сокету сервера. Если не будет соединения, то передачи не будет тоже. И как клиент заберет письмо, если сервер его не получал? Он же хочет получить письмо? С почтового сервера?
Цитата(gta4kv @  15.10.2007,  21:14 Найти цитируемый пост)
а как отправить письмо без smtp сервера?

или давай тогда не говорить "письмо", "почтовая программа", а говорить просто - сетевая программа, сетевое сообщение.

P.S. Напиши пример с заголовками, как это должно выглядеть, то, чего ты хочешь.

Это сообщение отредактировал(а) tol05 - 18.10.2007, 08:00


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Zhenek
Дата 23.10.2007, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 31.5.2007

Репутация: 1
Всего: 1



Revan
ИМХО , но с такими знаниями рано тебе еще писать почтовые программы.
Мы тебе поможем ты только спрашивай, но зачем изобретать велосипед.... чем тебя то-же Outlook или the bat не устраивает????    там есть все что нужно......
--------------------
<удалено администрацией>
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0897 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.