using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net.Mail;
using System.IO;
using System.Security.Cryptography;
namespace Prova_mail
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string allegato;
int numall = 0;
bool salvato = true;
private const string iv = "QWExcfTyUxxLOafO"; //16 byte
string chiave = "QWExcfTyUxxLOafO";
private void button1_Click(object sender, EventArgs e)
{
try
{
MailAddress adrDa
= new MailAddress
(textBox1.
Text, textBox2.
Text);
MailAddress adrA
= new MailAddress
(textBox3.
Text, textBox4.
Text);
MailMessage mess
= new MailMessage
(adrDa, adrA
);
mess.Subject = textBox7.Text;
mess.Body = richTextBox1.Text;
SmtpClient clien
= new SmtpClient
(comboBox1.
Text);
if (allegato != null)
{
Attachment all
= new Attachment
(allegato
);
mess.Attachments.Add(all);
}
try
{
clien.Send(mess);
MessageBox.Show("Email inviata correttamente. ", "Mail by Matthew", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception exError)
{
MessageBox.Show(exError.ToString());
}
}
catch
{
MessageBox.Show("Impossibile inviare. Compila bene ogni spazio. ", "Mail by Matthew", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void Allega_FileOk(object sender, CancelEventArgs e)
{
allegato = Path.GetFullPath(Allega.FileName);
numall++;
label2.Text = numall.ToString();
richTextBox2.AppendText(Allega.FileName + "\n");
}
private void allegaFileToolStripMenuItem_Click(object sender, EventArgs e)
{
Allega.ShowDialog();
}
private void cancellaAllegatiToolStripMenuItem_Click(object sender, EventArgs e)
{
allegato = null;
numall = 0;
label2.Text = numall.ToString();
richTextBox2.Text = "";
}
private void fontToolStripMenuItem_Click(object sender, EventArgs e)
{
if (fontDialog1.ShowDialog() == DialogResult.OK)
{
richTextBox1.Font = fontDialog1.Font;
richTextBox1.ForeColor = fontDialog1.Color;
}
}
private void chiudiToolStripMenuItem_Click(object sender, EventArgs e)
{
if (MessageBox.Show("Sei sicuro di voler uscire? ", "Mail by Matthew", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
if (salvato == false)
{
if (MessageBox.Show("Vuoi salvare il messaggio? ", "Mail by Matthew", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
Salva();
Application.Exit();
}
else
Application.Exit();
}
}
private void Salva()
{
Save_Dialog.Filter = "File di testo (.txt) | *.txt";
Save_Dialog.FileName = "Email";
if (Save_Dialog.ShowDialog() == DialogResult.OK)
{
StreamWriter fs = File.CreateText(Save_Dialog.FileName);
fs.WriteLine("Da: " + textBox1.Text);
fs.WriteLine("A: " + textBox3.Text);
fs.WriteLine();
fs.WriteLine("Oggetto: " + textBox7.Text);
fs.WriteLine();
fs.WriteLine();
fs.WriteLine("Testo del messaggio:");
fs.WriteLine();
fs.WriteLine(richTextBox1.Text);
fs.Close();
salvato = true;
}
}
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
salvato = false;
}
private void newToolStripButton_Click(object sender, EventArgs e)
{
if (salvato != true)
{
if (MessageBox.Show("Vuoi salvare il messaggio? ", "Mail by Matthew", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
Salva();
}
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
textBox4.Text = "";
textBox7.Text = "";
richTextBox1.Text = "";
allegato = null;
numall = 0;
label2.Text = numall.ToString();
comboBox1.Text = "";
}
private void saveToolStripButton_Click(object sender, EventArgs e)
{
Salva();
}
public static string Encode(string S, string chiave)
{
RijndaelManaged rjm
= new RijndaelManaged
();
rjm.KeySize = 128;
rjm.BlockSize = 128;
rjm.Key = ASCIIEncoding.ASCII.GetBytes(chiave);
rjm.IV = ASCIIEncoding.ASCII.GetBytes(iv);
Byte[] input = Encoding.UTF8.GetBytes(S);
Byte[] output = rjm.CreateEncryptor().TransformFinalBlock(input, 0, input.Length);
return Convert.ToBase64String(output);
}
private void criptaToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.Text = Encode(richTextBox1.Text, chiave);
}
private void criptaOggettoToolStripMenuItem_Click(object sender, EventArgs e)
{
textBox7.Text = Encode(textBox7.Text, chiave);
}
private void toolStripTextBox1_TextChanged(object sender, EventArgs e)
{
criptaToolStripMenuItem.Enabled = (toolStripTextBox1.Text.Length == 16);
criptaOggettoToolStripMenuItem.Enabled = (toolStripTextBox1.Text.Length == 16);
}
private void visualizzaMenuChiaveToolStripMenuItem_Click(object sender, EventArgs e)
{
toolStripTextBox1.
Visible = (visualizzaMenuChiaveToolStripMenuItem.
Checked == true);
label1.
Visible = (visualizzaMenuChiaveToolStripMenuItem.
Checked == true);
}
}
}