private void butnSendMail_Click(object sender, System.EventArgs e) { butnSendMail.Enabled = false; try { Indy.Sockets.Message LMsg = new Indy.Sockets.Message(); LMsg.From.Text = textFrom.Text.Trim(); LMsg.Recipients.Add().Text = textTo.Text.Trim(); LMsg.Subject = textSubject.Text.Trim(); LMsg.Body.Text = textMsg.Text; // Attachment example // new AttachmentFile(LMsg.MessageParts, @"c:\temp\Hydroponics.txt"); SMTP LSMTP = new SMTP(); LSMTP.OnStatus += new Indy.Sockets.TIdStatusEvent(SMTPStatus); LSMTP.Host = textSMTPServer.Text.Trim(); LSMTP.Connect(); try { LSMTP.Send(LMsg); Status("Completed"); } finally { LSMTP.Disconnect(); } } finally { butnSendMail.Enabled = true; } }
public static void SendThread() { //create SMTP object SMTP objSMTP = new SMTP(); objSMTP.SMTPServers.Add("smtp.socketlabs.com", 25, 60, SMTPAuthMode.AuthLogin, "your_smtp_user", "your_smtp_password"); /* * this sample just sends one message per thread/connection but in the real world you should send about * 50-100 messages per connection. You will have to add your database retrieval and loop management here * * i.e. grab 50 records from db, connect, loop through and send all 50 and then disconnect * repeat as long as there are more records to process in database */ //establish connection and keep it open for all messages we send objSMTP.Connect(); EmailMessage objMessage = new EmailMessage(); objMessage.From = new Address("*****@*****.**", "Sender Name"); objMessage.Recipients.Add("*****@*****.**", "Recipient Name", RecipientType.To); objMessage.Subject = "Subject..."; objMessage.BodyParts.Add("Hi ##FIRSTNAME##, Thank you for your interest in ##PRODUCT##.", BodyPartFormat.Plain, BodyPartEncoding.QuotedPrintable); Dictionary<string, string> tokens = new Dictionary<string, string>(); tokens["##FIRSTNAME##"] = "John"; tokens["##PRODUCT##"] = "SocketLabs Email On-Demand"; objMessage.BodyParts[0].Body = BulkReplace(objMessage.BodyParts[0].Body, tokens); objSMTP.Send(objMessage); //close connection after all messages have been sent objSMTP.Disconnect(); Interlocked.Decrement(ref threadsOpen); }
public static void SendThread() { //create SMTP object SMTP objSMTP = new SMTP(); objSMTP.SMTPServers.Add("smtp.socketlabs.com", 25, 60, SMTPAuthMode.AuthLogin, "your_smtp_user", "your_smtp_password"); /* * this sample just sends one message per thread/connection but in the real world you should send about * 50-100 messages per connection. You will have to add your database retrieval and loop management here * * i.e. grab 50 records from db, connect, loop through and send all 50 and then disconnect * repeat as long as there are more records to process in database */ //establish connection and keep it open for all messages we send objSMTP.Connect(); EmailMessage objMessage = new EmailMessage(); objMessage.From = new Address("*****@*****.**", "Sender Name"); objMessage.Recipients.Add("*****@*****.**", "Recipient Name", RecipientType.To); objMessage.Subject = "Subject..."; objMessage.BodyParts.Add("Hi ##FIRSTNAME##, Thank you for your interest in ##PRODUCT##.", BodyPartFormat.Plain, BodyPartEncoding.QuotedPrintable); Dictionary <string, string> tokens = new Dictionary <string, string>(); tokens["##FIRSTNAME##"] = "John"; tokens["##PRODUCT##"] = "SocketLabs Email On-Demand"; objMessage.BodyParts[0].Body = BulkReplace(objMessage.BodyParts[0].Body, tokens); objSMTP.Send(objMessage); //close connection after all messages have been sent objSMTP.Disconnect(); Interlocked.Decrement(ref threadsOpen); }