Почему Не Отправляется Сообщение?

Тема в разделе ".NET", создана пользователем Imposter, 17 ноя 2012.

  1. Imposter

    Imposter Гость

    делаю так:
    Код (C++):
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.IO;
    using System.Net;
    using System.Net.Sockets;
    using System.Threading;
    using System.Text;
    using System.Windows.Forms;
    //E-mail using
    using System.Web;
    using System.Net;
    using System.Net.Mail;
    using System.Net.Mime;

    namespace Application_Server
    {
    public partial class Form1 : Form
    {
    TcpListener server;
    string localAdres;
    string[] Received = {
    "Дата",
    "Заказщик",
    "Предприятие",
    "Суть Заявки",
    "Пример"  
    };
    string Received_Line;
    int port;
    string[] Temp = {
    "Дата",
    "Заказщик",
    "Предприятие",
    "Суть Заявки",
    "Пример"
    };
    public Form1()
    {
    InitializeComponent(); try
    {
    //определение максимального колличества потоков (сейчас по 4 на каждый процессор)
    int MaxThreadsCount = Environment.ProcessorCount * 4;
    //Установка максимаьного количества рабочих потоков
    ThreadPool.SetMaxThreads(MaxThreadsCount, MaxThreadsCount);
    //установка минимального количества потоков
    ThreadPool.SetMinThreads(2, 2);
    IPAddress localAddr = IPAddress.Parse("127.0.0.1");
    server = new TcpListener(localAddr, 9595);
    //запуск TCPListener, для прослушивания клиентов
    listener.Enabled = true;

    }
    catch (Exception error)
    {
    ;
    }
    finally
    {
    server.Stop();
    }
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    // TODO: данная строка кода позволяет загрузить данные в таблицу "database1DataSet.Aapplication_File". При необходимости она может быть перемещена или удалена.
    this.aapplication_FileTableAdapter.Fill(this.database1DataSet.Aapplication_File);
    label6.Text = "";
    }

    private void Form1_Deactivate(object sender, EventArgs e)
    {
    if (this.WindowState == FormWindowState.Minimized)
    {
    this.ShowInTaskbar = false;
    notifyIcon1.Visible = true;
    }
    }

    private void notifyIcon1_Click(object sender, EventArgs e)
    {
    if (this.WindowState == FormWindowState.Minimized)
    {
    this.WindowState = FormWindowState.Normal;
    this.ShowInTaskbar = true;
    notifyIcon1.Visible = false;
    }
    }

    private void listener_Tick(object sender, EventArgs e)
    {
    // try
    // {
    byte[] data = new byte[Received.Length * 8192]; //массив байт для передачи сообщения
    server.Start();
    int sec = Convert.ToInt32(DateTime.Now.Second.ToString());
    int sec1 = Convert.ToInt32(DateTime.Now.Second.ToString());


    TcpClient client = new TcpClient();
    client = server.AcceptTcpClient();
    //получение информации от клиента
    NetworkStream stream = client.GetStream();
    int i;
    //_________________________________ПОЛУЧЕНИЕ И ОТПРАВКА ДАННЫХ______________
    //принимаем данные от клиента пока не дойдем до конца.
    data = new Byte[8192]; // масив для хранения принятых данных
    String responseData = String.Empty;
    Int32 bytes = stream.Read(data, 0, data.Length); // получение данных в bytes
    responseData = System.Text.Encoding.Unicode.GetString(data, 0, bytes); // перевод в строку
    // разбиение строки на массив строк

    String[] Received_line = responseData.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries);
    for (int j = 0; j < Received_line.Length; j++)
    {
    Received[j] = Convert.ToString(Received_line[j]);
    }
    DataRow New_Applications = database1DataSet.Aapplication_File.NewRow();
    //описываем созданую строку по параметрам которые созданы в таблице
    New_Applications["Заказщик"] = Received[1];
    New_Applications["Дата"] = Received[0];
    New_Applications["Предприятие"] = Received[2];
    New_Applications["СутьЗаявки"] = Received[3];
    New_Applications["Пример"] = Received[4];
    //записать строку
    database1DataSet.Aapplication_File.Rows.Add(New_Applications);
    aapplication_FileTableAdapter.Update(database1DataSet.Aapplication_File);
    label6.Text = "Заявка добавленна!";
    Save_and_dispatch(Received[1], Received[0], Received[2], Received[3], Received[4]);

    server.Stop();
    //получили данные в масиве, разделяем его по переменных
    label1.Text = "";

    // }
    /*        catch
    {
    ;
    }*/

    }

    private void Save_and_dispatch(string User_Text, string Data, string Job, string TextApplications, string Example)
    {
    //Создаём приложение.
    Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
    //Открываем книгу.                                                                                                                                                       
    Microsoft.Office.Interop.Excel.Workbook ObjWorkBook = ObjExcel.Workbooks.Open(@"C:\Program Files\Заявки\Бланк подачи заявки.xls", 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
    //Выбираем таблицу(лист).
    Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;
    ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];

    //Properties.Resources.ResourceManager.GetObject("Бланк подачи заявки");
    // вот тут нужно записывать все в ячейки
    // ObjWorkSheet.Cells[x, y]
    // x-строка, y - столбец

    ObjWorkSheet.Cells[2, 5] = Job;//записали учреждение
    ObjWorkSheet.Cells[4, 3] = User_Text;//записали заявителя
    ObjWorkSheet.Cells[10, 1] = "            " + TextApplications; // записали текст заявки
    ObjWorkSheet.Cells[29, 1] = "            " + Example;// Записали пример по заявке

    //остается записать Адрес и телефон

    ObjWorkBook.Save();
    ObjWorkBook.Saved = true;
    ObjExcel.Quit();

    //Авторизация на SMTP сервере
    SmtpClient Smtp = new SmtpClient("smtp.mail.ru", 25);
    Smtp.Credentials = new NetworkCredential("application.sender@mail.ru", "acer2560928");
    //Smtp.EnableSsl = false;

    //Формирование письма
    MailMessage Message = new MailMessage();
    Message.From = new MailAddress("application.sender@mail.ru");
    Message.To.Add(new MailAddress("application.recipient@mail.ru"));
    Message.Subject = "Заявка от " + User_Text + "(" + Job +")";
    Message.Body = "Заявка";// +TextApplications;
    Smtp.EnableSsl =true;
    //Прикрепляем файл
    string file = "C:\\Program Files\\Заявки\\Бланк подачи заявки.xls";
    Attachment attach = new Attachment(file, MediaTypeNames.Application.Octet);

    Message.Attachments.Add(attach);

    Smtp.Send(Message);
    }



    private void change_Click(object sender, EventArgs e)
    {
    try
    {
    server.Stop();
    localAdres = textBox1.Text + "." + textBox2.Text + "." + textBox3.Text + "." + textBox4.Text;
    port = Convert.ToInt32(textBox5.Text);
    IPAddress localAddr = IPAddress.Parse(localAdres);
    server = new TcpListener(localAddr, 9595);
    label6.Text = "Ip адрес и Порт изменены";
    }
    catch
    {
    label6.Text = "Ip адрес и Порт некорректны или не заполнены";;
    }

    }

    private void aapplication_FileBindingNavigatorSaveItem_Click(object sender, EventArgs e)
    {
    this.Validate();
    this.aapplication_FileBindingSource.EndEdit();
    this.tableAdapterManager.UpdateAll(this.database1DataSet);

    }

    private void zeroing_Tick(object sender, EventArgs e)
    {
    label6.Text = "";
    }

    private void Close_Click(object sender, EventArgs e)
    {
    Close();
    }
    }
    }
    выдает ошибку
    Код (C++):
    Сбой при отправке сообщения электронной почты.
     
Загрузка...

Поделиться этой страницей