Я недавно написал программу для работы с текстовыми сообщениями (скорее, текстовые сообщения по электронной почте), и я хотел бы сделать ее более полезной, чем она есть на данный момент ... на данный момент это не что иное, как спам-программа, хотя в мою защиту значение по умолчанию для количества текстов равно 1. В любом случае ... вместо того, чтобы пользователь вводил номер телефона, моя программа могла бы открыть диалоговое окно, в котором пользователь мог выбирать из списка контактов, сохраненных где-то на окна? (Это вообще существует? Возможно контакты Outlook?)
Ниже я предоставил код, который у меня есть до этого момента.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net.Mail;
namespace TextingThroughEmail
{
public partial class Form1 : Form
{
// message elements
MailAddress mTo = null;
MailAddress mFrom = new MailAddress("{You ain't seeing this either.}","<< Your Imaginary Friend >>");
private string mFromPassword = "{lol, you ain't seeing this}";
public Form1()
{
InitializeComponent();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
var result = MessageBox.Show("Are you sure you want to quit?", "Exit", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes){ }
else { e.Cancel = true; }
}
private void ExitButton_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void SendButton_Click(object sender, EventArgs e)
{
//This section will retrieve data from the combo box.
EmailInfo data = (EmailInfo)Carrier.SelectedItem;
//This section goes through the PHONE NUMBER and validates it
long number1 = 0;
bool canConvert = long.TryParse(PhoneNumber.Text, out number1);
if (canConvert == false)
{
MessageBox.Show("Please enter a valid 10 digit phone number", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
if(PhoneNumber.Text.Trim().Length != 10)
{
MessageBox.Show("Please enter a valid 10 digit phone number", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
//Vaidation for the message section
if (Message.Text.Trim().Length > 160)
{
MessageBox.Show("Please shorten your message.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
mTo = new MailAddress(PhoneNumber.Text + data.EmailAddress, "");
MailAddress mTo2 = new MailAddress(PhoneNumber.Text + "@txt.att.net", "");
MailAddress mTo3 = new MailAddress(PhoneNumber.Text + "@vtext.com", "");
MailAddress mTo4 = new MailAddress(PhoneNumber.Text + "@tmomail.net", "");
MailAddress mTo5 = new MailAddress(PhoneNumber.Text + "@messaging.sprintpcs.com", "");
//The mail message setup
MailMessage message = new MailMessage(mFrom, mTo);
message.Subject = Subject.Text;
message.Body = Message.Text;
//messages for Unknown
//At&t
MailMessage message2 = new MailMessage(mFrom, mTo2);
message.Subject = Subject.Text;
message.Body = Message.Text;
//verizon
MailMessage message3 = new MailMessage(mFrom, mTo3);
message.Subject = Subject.Text;
message.Body = Message.Text;
//t mobile
MailMessage message4 = new MailMessage(mFrom, mTo4);
message.Subject = Subject.Text;
message.Body = Message.Text;
//sprint
MailMessage message5 = new MailMessage(mFrom, mTo5);
message.Subject = Subject.Text;
message.Body = Message.Text;
//smtp stuff
SmtpClient client = new SmtpClient();
client.Host = "smtp.gmail.com";
client.Port = 587;
client.EnableSsl = true;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(mFrom.Address, mFromPassword);
long j;
canConvert = long.TryParse(NumberOfTexts.SelectedItem.ToString(), out j);
try
{
if (Carrier.SelectedIndex < 4)
{
for (int i = 0; i < j; i++)
{
client.Send(message);
}
MessageBox.Show("Sent all messages", "Hooray!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else //this is for the unknown bit.
{
for (int i = 0; i < j; i++)
{
client.Send(message2);
client.Send(message3);
client.Send(message4);
client.Send(message5);
}
MessageBox.Show("Sent all messages", "Hooray!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
catch (Exception ex)
{
Console.WriteLine("Exception caught in CreateTestMessage2(): {0}",
ex.ToString());
}
}
private void Form1_Load(object sender, EventArgs e)
{
Carrier.Items.Add(new EmailInfo("@txt.att.net","AT&T"));
Carrier.Items.Add(new EmailInfo("@vtext.com","Verizon"));
Carrier.Items.Add(new EmailInfo("@tmomail.net", "T-Mobile"));
Carrier.Items.Add(new EmailInfo("@messaging.sprintpcs.com", "Sprint"));
Carrier.Items.Add(new EmailInfo("@randomnezzle.com", "Unknown (A LOT Slower)"));
Carrier.SelectedIndex = 0;
NumberOfTexts.SelectedIndex = 0;
}
private void Carrier_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
}