This commit is contained in:
257
keys/Generator/ALResponse.cs
Normal file
257
keys/Generator/ALResponse.cs
Normal file
@@ -0,0 +1,257 @@
|
||||
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;
|
||||
|
||||
namespace GroundZero.KeyCodes
|
||||
{
|
||||
public partial class ALResponse : Form
|
||||
{
|
||||
|
||||
private Chilkat.Email em=null;
|
||||
bool bLite = false;
|
||||
bool _xmlMode = true;
|
||||
public ALResponse(Chilkat.Email ALRequestEmail, bool XMLMode)
|
||||
{
|
||||
InitializeComponent();
|
||||
_xmlMode = XMLMode;
|
||||
|
||||
if (ALRequestEmail == null)
|
||||
{
|
||||
MessageBox.Show("No request email found - tell Johnny");
|
||||
this.Close();
|
||||
return;
|
||||
}
|
||||
em = ALRequestEmail;
|
||||
string s = "";
|
||||
if (!string.IsNullOrWhiteSpace(em.GetPlainTextBody()))
|
||||
s = em.GetPlainTextBody();
|
||||
else
|
||||
s = em.Body;
|
||||
edRequest.Text = s;
|
||||
|
||||
sendToolStripMenuItem.Text = "&Send to " + em.FromAddress;
|
||||
|
||||
|
||||
Generate(_xmlMode);
|
||||
|
||||
}
|
||||
|
||||
private void sendToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (MessageBox.Show("Send both response emails to customer now?", "Email now", MessageBoxButtons.YesNo) != DialogResult.Yes) return;
|
||||
|
||||
|
||||
//smtp send responses
|
||||
string sEmailTo = em.FromAddress;
|
||||
if (string.IsNullOrWhiteSpace(sEmailTo))
|
||||
{
|
||||
MessageBox.Show("Error, the return email address is empty, no one to reply to!");
|
||||
return;
|
||||
}
|
||||
|
||||
//Send the greeting message first
|
||||
string sLastError=SendMessage(sEmailTo, "re: " + em.Subject, edGreeting.Text, "");
|
||||
if ( sLastError != null)
|
||||
{
|
||||
MessageBox.Show("Error sending greeting message:\r\n" + sLastError);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
string sKeyEmailSubject = "";
|
||||
if (bLite)
|
||||
sKeyEmailSubject = "AyaNova Lite and optional add-ons temporary 30 day Activation key";
|
||||
else
|
||||
sKeyEmailSubject = "AyaNova and optional add-on's temporary 30 day Activation key";
|
||||
|
||||
sLastError = SendMessage(sEmailTo, sKeyEmailSubject,this.edKeyCode.Text, "");
|
||||
if (sLastError != null)
|
||||
{
|
||||
MessageBox.Show("Error sending keycode message:\r\n" + sLastError);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
this.DialogResult = System.Windows.Forms.DialogResult.Yes;
|
||||
this.Close();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Send a message with optional attachment
|
||||
/// </summary>
|
||||
/// <param name="sTo"></param>
|
||||
/// <param name="sSubject"></param>
|
||||
/// <param name="sBody"></param>
|
||||
/// <param name="sAttach"></param>
|
||||
/// <returns>null on success otherwise the error message</returns>
|
||||
private string SendMessage(string sTo, string sSubject, string sBody, string sAttach)
|
||||
{
|
||||
//attempt delivery
|
||||
// Create a mailman object for sending email.
|
||||
Chilkat.MailMan mailman = new Chilkat.MailMan();
|
||||
|
||||
|
||||
mailman.UnlockComponent("SAyanovaMAILQ_46WCmUg3lQ1i");
|
||||
|
||||
// Set the SMTP server hostname.
|
||||
mailman.SmtpHost = "smtp.ayanova.com";
|
||||
//Case 515
|
||||
//mailman.SmtpPort = 587;
|
||||
|
||||
//SSL case 1973
|
||||
mailman.SmtpSsl = true;
|
||||
mailman.SmtpPort = 465;
|
||||
|
||||
mailman.SmtpUsername = "support@ayanova.com";
|
||||
mailman.SmtpPassword = "RLdUP6758a6191H";
|
||||
|
||||
|
||||
|
||||
// Create a simple email.
|
||||
Chilkat.Email email = new Chilkat.Email();
|
||||
|
||||
email.Body = sBody;
|
||||
email.Subject = sSubject;
|
||||
email.AddTo("", sTo);
|
||||
email.From = "support@ayanova.com";
|
||||
|
||||
// Send mail.
|
||||
bool success;
|
||||
success = mailman.SendEmail(email);
|
||||
if (success)
|
||||
{
|
||||
CopyToSentFolder(email);
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
return mailman.LastErrorText;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void CopyToSentFolder(Chilkat.Email em)
|
||||
{
|
||||
|
||||
Chilkat.Imap imap = new Chilkat.Imap();
|
||||
bool success;
|
||||
success = imap.UnlockComponent("SAyanovaIMAPMAIL_Es9JHNMSlUlb");
|
||||
if (success != true)
|
||||
{
|
||||
MessageBox.Show(imap.LastErrorText);
|
||||
return;
|
||||
}
|
||||
//Use SSL case 1973
|
||||
imap.Ssl = true;
|
||||
imap.Port = 993;
|
||||
|
||||
success = imap.Connect("mail.ayanova.com");
|
||||
if (success != true)
|
||||
{
|
||||
MessageBox.Show(imap.LastErrorText);
|
||||
return;
|
||||
}
|
||||
|
||||
// Login
|
||||
success = imap.Login("support@ayanova.com", "RLdUP6758a6191H");
|
||||
if (success != true)
|
||||
{
|
||||
MessageBox.Show(imap.LastErrorText);
|
||||
return;
|
||||
}
|
||||
|
||||
//put in sent mail folder
|
||||
|
||||
success = imap.AppendMail("Sent", em);
|
||||
if (success != true)
|
||||
{
|
||||
MessageBox.Show("Error copying to sent folder: \r\n"+imap.LastErrorText);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
imap.Logout();
|
||||
imap.Disconnect();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private void cancelToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.Close();
|
||||
}
|
||||
|
||||
|
||||
void Generate(bool XMLFormat)
|
||||
{
|
||||
|
||||
string s= edRequest.Text;
|
||||
//make keycode
|
||||
bLite = em.Subject.Contains("AyaNova Lite");
|
||||
int nNameStart = s.IndexOf("Name:\r\n")+7;
|
||||
int nNameEnd = s.IndexOf("Company:\r\n");
|
||||
int nCompanyStart = nNameEnd + 10;
|
||||
int nCompanyEnd = s.IndexOf("Referrer:\r\n");
|
||||
string sName = s.Substring(nNameStart, nNameEnd - nNameStart).Trim();
|
||||
if (sName.Contains(" "))
|
||||
sName=sName.Split(' ')[0];
|
||||
string sRegTo = s.Substring(nCompanyStart, nCompanyEnd - nCompanyStart).Trim();
|
||||
|
||||
edKeyCode.Text = MsgGen.TrialKeyMessage(bLite, sRegTo, XMLFormat);
|
||||
|
||||
//Latest format:
|
||||
//Name:
|
||||
//Joyce
|
||||
//Company:
|
||||
//Ground Zero
|
||||
//Additional:
|
||||
//-
|
||||
//Requested from:
|
||||
//96.54.96.232
|
||||
|
||||
|
||||
//Original format:
|
||||
|
||||
//Name:
|
||||
//Emin PEKEL
|
||||
//Company:
|
||||
//ECSTURKEY
|
||||
//Postal address:
|
||||
//1370 SOK. NO: 7 KONAK / CANKAYA - IZMIR (TURKEY)
|
||||
//Other:
|
||||
//-
|
||||
//Requested from:
|
||||
//88.247.204.81
|
||||
|
||||
//make greeting message
|
||||
edGreeting.Text = MsgGen.TrialGreetingMessage(bLite, sName);
|
||||
edGreeting.Text = edGreeting.Text + "\r\n\r\nOn " + em.LocalDate + ", " + em.From + " wrote:\r\n" + edRequest.Text.Replace("\r\n","\r\n>");
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void regenerateMessagesToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
edKeyCode.Text = "";
|
||||
edGreeting.Text = "";
|
||||
Generate(_xmlMode);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user