Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Mail by Matthew - Form1.cs

Form1.cs

Caricato da: Matthew
Scarica il programma completo

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using System.Net.Mail;
  9. using System.IO;
  10. using System.Security.Cryptography;
  11.  
  12. namespace Prova_mail
  13. {
  14.     public partial class Form1 : Form
  15.     {
  16.         public Form1()
  17.         {
  18.             InitializeComponent();
  19.         }
  20.  
  21.         string allegato;
  22.         int numall = 0;
  23.         bool salvato = true;
  24.         private const string iv = "QWExcfTyUxxLOafO"; //16 byte
  25.         string chiave = "QWExcfTyUxxLOafO";
  26.  
  27.         private void button1_Click(object sender, EventArgs e)
  28.         {
  29.             try
  30.             {
  31.                 MailAddress adrDa = new MailAddress(textBox1.Text, textBox2.Text);
  32.                 MailAddress adrA = new MailAddress(textBox3.Text, textBox4.Text);
  33.                 MailMessage mess = new MailMessage(adrDa, adrA);
  34.                 mess.Subject = textBox7.Text;
  35.                 mess.Body = richTextBox1.Text;
  36.                 SmtpClient clien = new SmtpClient(comboBox1.Text);
  37.  
  38.                 if (allegato != null)
  39.                 {
  40.                     Attachment all = new Attachment(allegato);
  41.                     mess.Attachments.Add(all);
  42.                 }
  43.  
  44.                 try
  45.                 {
  46.                     clien.Send(mess);
  47.                     MessageBox.Show("Email inviata correttamente.    ", "Mail by Matthew", MessageBoxButtons.OK, MessageBoxIcon.Information);
  48.                 }
  49.  
  50.                 catch (Exception exError)
  51.                 {
  52.                     MessageBox.Show(exError.ToString());
  53.                 }
  54.             }
  55.  
  56.             catch
  57.             {
  58.                 MessageBox.Show("Impossibile inviare. Compila bene ogni spazio.    ", "Mail by Matthew", MessageBoxButtons.OK, MessageBoxIcon.Error);
  59.             }
  60.         }
  61.  
  62.  
  63.         private void Allega_FileOk(object sender, CancelEventArgs e)
  64.         {
  65.             allegato = Path.GetFullPath(Allega.FileName);
  66.             numall++;
  67.             label2.Text = numall.ToString();
  68.             richTextBox2.AppendText(Allega.FileName + "\n");
  69.  
  70.         }
  71.  
  72.        
  73.  
  74.         private void allegaFileToolStripMenuItem_Click(object sender, EventArgs e)
  75.         {
  76.             Allega.ShowDialog();
  77.         }
  78.  
  79.         private void cancellaAllegatiToolStripMenuItem_Click(object sender, EventArgs e)
  80.         {
  81.             allegato = null;
  82.             numall = 0;
  83.             label2.Text = numall.ToString();
  84.             richTextBox2.Text = "";
  85.         }
  86.  
  87.         private void fontToolStripMenuItem_Click(object sender, EventArgs e)
  88.         {
  89.             if (fontDialog1.ShowDialog() == DialogResult.OK)
  90.             {
  91.                 richTextBox1.Font = fontDialog1.Font;
  92.                 richTextBox1.ForeColor = fontDialog1.Color;
  93.             }
  94.         }
  95.  
  96.         private void chiudiToolStripMenuItem_Click(object sender, EventArgs e)
  97.         {
  98.             if (MessageBox.Show("Sei sicuro di voler uscire?    ", "Mail by Matthew", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  99.             {
  100.                 if (salvato == false)
  101.                 {
  102.                     if (MessageBox.Show("Vuoi salvare il messaggio?    ", "Mail by Matthew", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  103.                         Salva();
  104.                     Application.Exit();
  105.                 }
  106.  
  107.                 else
  108.                     Application.Exit();
  109.                
  110.             }
  111.         }
  112.  
  113.         private void Salva()
  114.         {
  115.             Save_Dialog.Filter = "File di testo (.txt) | *.txt";
  116.             Save_Dialog.FileName = "Email";
  117.             if (Save_Dialog.ShowDialog() == DialogResult.OK)
  118.             {
  119.                 StreamWriter fs = File.CreateText(Save_Dialog.FileName);
  120.  
  121.                     fs.WriteLine("Da: " + textBox1.Text);
  122.                     fs.WriteLine("A:  " + textBox3.Text);
  123.                     fs.WriteLine();
  124.                     fs.WriteLine("Oggetto: " + textBox7.Text);
  125.                     fs.WriteLine();
  126.                     fs.WriteLine();
  127.  
  128.                     fs.WriteLine("Testo del messaggio:");
  129.                     fs.WriteLine();
  130.                     fs.WriteLine(richTextBox1.Text);
  131.                     fs.Close();
  132.                     salvato = true;
  133.  
  134.             }
  135.         }
  136.  
  137.  
  138.  
  139.         private void richTextBox1_TextChanged(object sender, EventArgs e)
  140.         {
  141.             salvato = false;
  142.         }
  143.  
  144.         private void newToolStripButton_Click(object sender, EventArgs e)
  145.         {
  146.             if (salvato != true)
  147.             {
  148.                 if (MessageBox.Show("Vuoi salvare il messaggio?    ", "Mail by Matthew", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  149.                     Salva();
  150.             }
  151.             textBox1.Text = "";
  152.             textBox2.Text = "";
  153.             textBox3.Text = "";
  154.             textBox4.Text = "";
  155.             textBox7.Text = "";
  156.             richTextBox1.Text = "";
  157.             allegato = null;
  158.             numall = 0;
  159.             label2.Text = numall.ToString();
  160.             comboBox1.Text = "";
  161.  
  162.         }
  163.  
  164.         private void saveToolStripButton_Click(object sender, EventArgs e)
  165.         {
  166.             Salva();
  167.         }
  168.  
  169.         public static string Encode(string S, string chiave)
  170.         {
  171.             RijndaelManaged rjm = new RijndaelManaged();
  172.             rjm.KeySize = 128;
  173.             rjm.BlockSize = 128;
  174.             rjm.Key = ASCIIEncoding.ASCII.GetBytes(chiave);
  175.             rjm.IV = ASCIIEncoding.ASCII.GetBytes(iv);
  176.             Byte[] input = Encoding.UTF8.GetBytes(S);
  177.             Byte[] output = rjm.CreateEncryptor().TransformFinalBlock(input, 0, input.Length);
  178.             return Convert.ToBase64String(output);
  179.         }
  180.  
  181.         private void criptaToolStripMenuItem_Click(object sender, EventArgs e)
  182.         {
  183.            richTextBox1.Text = Encode(richTextBox1.Text, chiave);
  184.         }
  185.  
  186.         private void criptaOggettoToolStripMenuItem_Click(object sender, EventArgs e)
  187.         {
  188.             textBox7.Text = Encode(textBox7.Text, chiave);
  189.         }
  190.  
  191.         private void toolStripTextBox1_TextChanged(object sender, EventArgs e)
  192.         {
  193.             criptaToolStripMenuItem.Enabled = (toolStripTextBox1.Text.Length == 16);
  194.             criptaOggettoToolStripMenuItem.Enabled = (toolStripTextBox1.Text.Length  == 16);
  195.         }
  196.  
  197.         private void visualizzaMenuChiaveToolStripMenuItem_Click(object sender, EventArgs e)
  198.         {
  199.             toolStripTextBox1.Visible = (visualizzaMenuChiaveToolStripMenuItem.Checked == true);
  200.             label1.Visible = (visualizzaMenuChiaveToolStripMenuItem.Checked == true);
  201.  
  202.         }
  203.  
  204.        
  205.  
  206.     }
  207. }