public static void Run() { // ExStart:AddAttachment // The path to the File directory. string dataDir = RunExamples.GetDataDir_Email(); // Create an instance of MailMessage class MailMessage message = new MailMessage { From = "*****@*****.**" }; message.To.Add("*****@*****.**"); // Load an attachment Attachment attachment = new Attachment(dataDir + "1.txt"); // Add Multiple Attachment in instance of MailMessage class and Save message to disk message.Attachments.Add(attachment); message.AddAttachment(new Attachment(dataDir + "1.jpg")); message.AddAttachment(new Attachment(dataDir + "1.doc")); message.AddAttachment(new Attachment(dataDir + "1.rar")); message.AddAttachment(new Attachment(dataDir + "1.pdf")); message.Save(dataDir + "outputAttachments_out.msg", SaveOptions.DefaultMsgUnicode); // ExEnd:AddAttachment }
static void Main(string[] args) { //普通测试 SmtpMailClient client = new SmtpMailClient("smtp.163.com", 25, true, "XXX", "XXX"); client.Timeout = 18000; MailMessage msg = new MailMessage(); msg.From = new MailAccount("*****@*****.**", "janky"); msg.AddTo(new MailAccount("*****@*****.**", "测试1")); msg.AddTo(new MailAccount("*****@*****.**")); msg.AddCC(new MailAccount("*****@*****.**")); //msg.AddCC(new MailAccount("*****@*****.**")); msg.MailContent = "<p>IHU 发信IP因发送垃圾邮件或存在异常的连接行为,被暂时挂起。请检测发信IP在历史上的发信情况和发信程序是否存在异常;</p><a href='http://163.com'>163 邮箱</a>"; msg.Subject = "测试"; msg.IsHtml = true; client.Send(msg); //附件测试 client = new SmtpMailClient("smtp.163.com", 25, true, "XXX", "XXX"); client.Timeout = 18000; msg = new MailMessage(); msg.From = new MailAccount("*****@*****.**", "janky"); msg.AddTo(new MailAccount("*****@*****.**", "测试1")); msg.AddTo(new MailAccount("*****@*****.**")); msg.AddCC(new MailAccount("*****@*****.**")); msg.MailContent = "<img src='cid:test1234' /><p>IHU 发信IP因发送垃圾邮件或存在异常的连接行为,被暂时挂起。请检测发信IP在历史上的发信情况和发信程序是否存在异常;</p><a href='http://163.com'>163 邮箱</a>"; msg.Subject = "测试"; msg.IsHtml = true; msg.AddAttachment(@"c:\test\test.txt"); msg.AddAttachment(@"c:\test\taiwan.jpg", "test1234"); //这里是content-id msg.AddAttachment(@"c:\test\filechktool.rar"); client.SendAsync(msg); //ssl 测试 SmtpServerInfo info = new SmtpServerInfo("smtp.gmail.com", 465, true, "XXX", "janky,.XXX"); info.EnableSsl = true; client = new SmtpMailClient(info); client.Timeout = 18000; msg = new MailMessage(); msg.From = new MailAccount("*****@*****.**", "系统"); msg.AddTo(new MailAccount("*****@*****.**", "测试1")); msg.AddTo(new MailAccount("*****@*****.**")); msg.AddCC(new MailAccount("*****@*****.**")); msg.MailContent = "<p>IHU 发信IP因发送垃圾邮件或存在异常的连接行为,被暂时挂起。请检测发信IP在历史上的发信情况和发信程序是否存在异常;</p><a href='http://163.com'>163 邮箱</a>"; msg.Subject = "测试"; msg.IsHtml = true; client.Send(msg); Console.ReadKey(); }
public SendEmailViewModel() { SendEmail = new DelegateCommand(() => { MailMessage mailMessage = new MailMessage(); mailMessage.UserName = "******"; mailMessage.Password = "******"; mailMessage.AccountType = MailMessage.AccountTypeEnum.Gmail; mailMessage.From = "*****@*****.**"; //set mail data mailMessage.To = Email; mailMessage.Subject = "Collage"; mailMessage.Body = "Collage:"; string image_name = "collage.jpg"; using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication()) { if (myIsolatedStorage.FileExists(image_name)) { IsolatedStorageFileStream fStream = myIsolatedStorage.OpenFile(image_name, FileMode.Open, FileAccess.Read); mailMessage.AddAttachment(fStream.Name); } } mailMessage.Send(); }); }
public void TestSend() { try { Console.WriteLine("\r\n ----- Smtp Test Below -----"); msg.Subject = subject; msg.Body = body; msg.AddImage(@"..\lib\test attachments\test.jpg", "testimage"); msg.AddImage(@"..\lib\test attachments\test2.jpg", "testimage2"); msg.HtmlBody = "<body><table><tr><td><b>Here is an embedded IMAGE:<img src=\"cid:testimage\"></td></tr>\r\n<tr><td>Here's another: <img src=\"cid:testimage2\"></td></tr></table></body>"; msg.AddRecipient(ccAddress, AddressType.Cc); msg.AddRecipient(bccAddress, AddressType.Bcc); msg.AddAttachment(@"..\lib\test attachments\test.jpg"); msg.AddAttachment(new Attachment(new FileStream(@"..\lib\test attachments\test.htm", FileMode.Open, FileAccess.Read), "test.htm")); msg.AddCustomHeader("X-FakeTestHeader", "Fake Value"); msg.AddCustomHeader("X-AnotherFakeTestHeader", "Fake Value"); msg.Notification = true; msg.Charset = "ISO-8859-1"; msg.Priority = MailPriority.Low; smtp.Username = "******"; smtp.Password = "******"; for (int i = 0; i < 1; i++) { smtp.SendMail(msg); } } catch (SmtpException se) { Assertion.Fail("TestSend() threw a SmtpException: " + se.Message); } catch (System.Exception e) { Assertion.Fail("TestSend() threw a System.Exception: " + e.Message + "; Target: " + e.TargetSite); } }
public async Task SendMail() { var message = new MailMessage("*****@*****.**", "Test", "This is a test", "*****@*****.**", "*****@*****.**"); message.AddAttachment("/Users/otto/me.png"); var receipt = await Api.Mail.SendAsync(message); Assert.IsNull(receipt.ID); Assert.AreNotEqual(1, receipt.AcceptedRecipients); Assert.AreEqual(0, receipt.RejectedRecipients); }
public static void Run() { // ExStart:ManagingEmailAttachments // The path to the File directory. string dataDir = RunExamples.GetDataDir_Email(); // Create an instance of MailMessage class MailMessage message = new MailMessage {From = "*****@*****.**"}; message.To.Add("*****@*****.**"); // Load an attachment Attachment attachment = new Attachment(dataDir + "1.txt"); // Add Multiple Attachment in instance of MailMessage class and Save message to disk message.Attachments.Add(attachment); message.AddAttachment(new Attachment(dataDir + "1.jpg")); message.AddAttachment(new Attachment(dataDir + "1.doc")); message.AddAttachment(new Attachment(dataDir + "1.rar")); message.AddAttachment(new Attachment(dataDir + "1.pdf")); message.Save(dataDir + "outputAttachments_out.msg", SaveOptions.DefaultMsgUnicode); // ExEnd:ManagingEmailAttachments }
protected void Init() { sender = "*****@*****.**"; recipient = "*****@*****.**"; cc = "*****@*****.**"; senderName = "FromName"; recipientName = "ToName"; ccName = "ccName"; subject = "Mail Message Test\r\n"; body = "Hello from MailMessageTest"; htmlBody = "<HTML><HEAD></HEAD><BODY bgColor=\"#00ffff\"><b>Hello Jane. This is the body of the HTML mail message.</b></BODY></HTML>"; charset = "us-ascii"; senderEmail = new EmailAddress(sender, senderName); recipientEmail = new EmailAddress(recipient, recipientName); ccEmail = new EmailAddress(cc, ccName); msg = new MailMessage(senderEmail, recipientEmail); msg.AddRecipient("*****@*****.**", AddressType.To); msg.AddRecipient("*****@*****.**", AddressType.To); msg.Subject = subject; msg.Body = body; msg.Charset = charset; msg.Priority = MailPriority.High; msg.HtmlBody = htmlBody.ToString(); msg.AddRecipient(ccEmail, AddressType.To); msg.AddRecipient(ccEmail, AddressType.Cc); msg.AddCustomHeader("X-Something", "Value"); msg.AddCustomHeader("X-SomethingElse", "Value"); msg.AddAttachment(@"..\lib\test attachments\test.jpg"); msg.AddAttachment(@"..\lib\test attachments\test.htm"); Attachment att = new Attachment(@"..\lib\test attachments\test.zip"); msg.AddAttachment(att); msg.Notification = true; }
public void SendViaEmail(bool BatchOrNo, string to = null, string Subject = null, string Body = null) { FormCard(BatchOrNo); MailMessage emailMessage = new MailMessage(); emailMessage.UserName = "******"; emailMessage.Password = ServiceManager.DecryptPasscode("secret"); emailMessage.AccountType = MailMessage.accountType.MicrosoftAccount; if ((emailMessage.UserName.ToLower()).Contains("gmail")) { emailMessage.AccountType = MailMessage.accountType.Gmail; } else if ((emailMessage.UserName.ToLower()).Contains("hotmail")) { emailMessage.AccountType = MailMessage.accountType.MicrosoftAccount; } if (to != null) { emailMessage.From = App.User.Email; emailMessage.To = to; emailMessage.Subject = Subject; emailMessage.Body = Body; } else { emailMessage.From = App.User.Email; emailMessage.To = App.vCard.EmailAddress; emailMessage.Subject = App.vCard.EmailSubject; emailMessage.Body = App.vCard.EmailBody; } if (App.FavoritesList != null) { using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication()) { IsolatedStorageFileStream save = new IsolatedStorageFileStream("contact.vcf", System.IO.FileMode.Create, store); StreamWriter writer = new StreamWriter(save); writer.Write(vCard); writer.Close(); } } emailMessage.AddAttachment("contact.vcf"); emailMessage.Error += emailMessage_Error; emailMessage.MailSent += emailMessage_MailSent; emailMessage.Send(); }
public static void Run() { // ExStart:RemoveAttachments // The path to the File directory. string dataDir = RunExamples.GetDataDir_Email(); string dstEmailRemoved = dataDir + "RemoveAttachments.msg"; // Create an instance of MailMessage class MailMessage message = new MailMessage(); message.From = "*****@*****.**"; message.To.Add("*****@*****.**"); // Load an attachment Attachment attachment = new Attachment(dataDir + "1.txt"); // Add Multiple Attachment in instance of MailMessage class and Save message to disk message.Attachments.Add(attachment); message.AddAttachment(new Attachment(dataDir + "1.jpg")); message.AddAttachment(new Attachment(dataDir + "1.doc")); message.AddAttachment(new Attachment(dataDir + "1.rar")); message.AddAttachment(new Attachment(dataDir + "1.pdf")); // Remove attachment from your MailMessage and Save message to disk after removing a single attachment message.Attachments.Remove(attachment); message.Save(dstEmailRemoved, SaveOptions.DefaultMsgUnicode); // Create a loop to display the no. of attachments present in email message foreach (Attachment getAttachment in message.Attachments) { // Save your attachments here and Display the the attachment file name getAttachment.Save(dataDir + "/RemoveAttachments/" + "attachment_out" + getAttachment.Name); Console.WriteLine(getAttachment.Name); } // ExEnd:RemoveAttachments Console.WriteLine(Environment.NewLine + "Attachments removed successfully from " + dstEmailRemoved); }
private void button1_Click(object sender, EventArgs e) { Email email = new Email(); email.strToMailbox.Add("*****@*****.**"); MailMessage msg = new MailMessage(); msg.Subject = "这是测试邮件"; //邮件标题 msg.Body = "邮件内容:hello world!"; //邮件内容 msg.AddAttachment(ref msg, "E:\\新建文件夹", "Jellyfish.jpg"); ////email.AddAttachment("E:\\新建文件夹"); email.Send(msg); }
public void TestAttachmentSort() { // test MailMessage(string, string) constructor MailMessage msg = new MailMessage("*****@*****.**", "*****@*****.**"); // test MailMessage(EamilAddress, EmailAddress) constructor EmailAddress from = new EmailAddress("*****@*****.**", "Fake Sender"); EmailAddress to = new EmailAddress("*****@*****.**", "Fake Recipient"); Attachment att = new Attachment(@"..\lib\test attachments\test.htm"); msg.AddAttachment(att); Attachment att2 = new Attachment(@"..\lib\test attachments\test.gar"); msg.AddAttachment(att2); Attachment att3 = new Attachment(@"..\lib\test attachments\test.zip"); msg.AddAttachment(att3); Attachment att4 = new Attachment(@"..\lib\test attachments\test.longextension"); msg.AddAttachment(att4); ArrayList attachments = msg.Attachments; attachments.Sort(); Console.WriteLine("\r\n ----- MailMessage.Attachments after sorting -----"); foreach (Attachment attachment in attachments) { Console.WriteLine(attachment.Name); } }
private async Task SendInternal(EmailInfo mail, Action <MailMessage> handleHtml) { using (var msg = new MailMessage()) { CreateEmail(mail, msg, handleHtml); using (var client = new SmtpClient()) { if (_configuration.SendGridEnabled) { SetSendGridClient(client); } else { client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; client.PickupDirectoryLocation = _configuration.LocalEmailDirectory; } var attachFileStreamsWithNames = mail.Attachments.Select(att => new Tuple <Stream, string>(ConvertToFileStream(att.Content), att.Name)).ToList(); try { attachFileStreamsWithNames.ForEach(attachment => msg.AddAttachment(new Attachment(attachment.Item1, attachment.Item2))); await client.SendAsync(msg).ConfigureAwait(false); } finally { // dispose of each of the attachment streams foreach (var attachFileStreamWithName in attachFileStreamsWithNames) { attachFileStreamWithName.Item1.Dispose(); } // dispose of each attachment foreach (var attachment in msg.Attachments) { attachment.Dispose(); } } } _logger.LogInformation($"Email sent. To={mail.To.Email}; Subject={mail.Subject}"); } }
void PhotoChooseCall(object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { #region Copy picture from Library to isolated storage. string fileName = "smtp_tmp\\" + System.IO.Path.GetFileName(e.OriginalFileName); BinaryReader objReader = new BinaryReader(e.ChosenPhoto); using (IsolatedStorageFile isStore = IsolatedStorageFile.GetUserStoreForApplication()) { if (isStore.DirectoryExists("smtp_tmp") == false) { isStore.CreateDirectory("smtp_tmp"); } using (IsolatedStorageFileStream targetStream = isStore.OpenFile(fileName, FileMode.Create, FileAccess.Write)) { // Initialize the buffer for 4KB disk pages. byte[] readBuffer = new byte[4096]; int bytesRead = -1; // Copy the image to isolated storage, 4K chunks at a time while ((bytesRead = e.ChosenPhoto.Read(readBuffer, 0, readBuffer.Length)) > 0) { targetStream.Write(readBuffer, 0, bytesRead); } } } #endregion mailMessage.AddAttachment(fileName); this.listBoxAttachments.Items.Add(System.IO.Path.GetFileName(fileName) + "\r" + " - " + FormatBytes(MailMessage.FileSize(fileName))); //debug } }
public static void Run() { // The path to the documents directory. string dataDir = RunExamples.GetDataDir_SMTP(); string dstEmail = dataDir + "outputAttachments.msg"; string dstEmailRemoved = dataDir + "outputAttachmentRemoved.msg"; //Create an instance of MailMessage class MailMessage message = new MailMessage(); //From message.From = "*****@*****.**"; //to whom message.To.Add("*****@*****.**"); // 1. // Attaching an Attachment to an Email //Adding 1st attachment //Create an instance of Attachment class Attachment attachment; //Load an attachment attachment = new Attachment(dataDir + "1.txt"); //Add attachment in instance of MailMessage class message.Attachments.Add(attachment); //Add 2nd Attachment message.AddAttachment(new Attachment(dataDir + "1.jpg")); //Add 3rd Attachment message.AddAttachment(new Attachment(dataDir + "1.doc")); //Add 4th Attachment message.AddAttachment(new Attachment(dataDir + "1.rar")); //Add 5th Attachment message.AddAttachment(new Attachment(dataDir + "1.pdf")); //Save message to disk message.Save(dstEmail, Aspose.Email.Mail.SaveOptions.DefaultMsgUnicode); // 2. // Removing an Attachment //Remove attachment from your MailMessage message.Attachments.Remove(attachment); //Save message to disk after removing a single attachment message.Save(dstEmailRemoved, Aspose.Email.Mail.SaveOptions.DefaultMsgUnicode); // 3. // Display remaining attachment names from message and save attachments //Create a loop to display the no. of attachments present in email message foreach (Attachment atchmnt in message.Attachments) { //Save your attachments here atchmnt.Save(dataDir + "attachment_" + atchmnt.Name); //display the the attachment file name Console.WriteLine(atchmnt.Name); } Console.WriteLine(Environment.NewLine + "Attachments removed successfully from " + dstEmailRemoved); }
/// <param name="to">收件人地址,多个收件人之间使用 , 间隔</param> /// <param name="from">发件人地址</param> /// <param name="subject">主题</param> /// <param name="body">邮件内容</param> /// <param name="cc">抄送人地址,多个收件人之间使用 , 间隔</param> /// <param name="bcc">密送人地址,多个收件人之间使用 , 间隔</param> /// <param name="attachFiles">附件文件列表</param> /// <param name="toName"></param> /// <returns>发送成功返回 -1; 发送失败抛出异常</returns> public static MailMessage ConstrucEmailMessage(string to, string from, string subject, string body, string cc = null, string bcc = null, string[] attachFiles = null, string toName = null) { MailMessage msg = new MailMessage(); msg.From = new EmailAddress(from, from); string[] toaddrs = to.Split(new char[] { ',', ';' }); string[] toNames = null; if (toName != null) { toNames = toName.Split(new char[] { ',', ';' }); } for (int i = 0; i < toaddrs.Length; i++) { if (toaddrs[i].Length > 0) { // var name = toNames != null && toNames.Length > i ? toNames[i] : toaddrs[i]; // if (name.IndexOf("@") >= 0) name = name.Substring(0, name.IndexOf("@")); msg.To.Add(new EmailAddress(toaddrs[i])); } } if (!string.IsNullOrEmpty(cc)) { var ccaddrs = cc.Split(new char[] { ',', ';' }); for (int i = 0; i < ccaddrs.Length; i++) { var email = ccaddrs[i]; if (!string.IsNullOrEmpty(email)) { msg.CC.Add(new EmailAddress(email)); // , email.Substring(0, email.IndexOf("@"))) } } } if (!string.IsNullOrEmpty(bcc)) { var bccaddrs = bcc.Split(new char[] { ',', ';' }); for (int i = 0; i < bccaddrs.Length; i++) { var email = bccaddrs[i]; if (!string.IsNullOrEmpty(email)) { msg.BCC.Add(new EmailAddress(bccaddrs[i]));// , email.Substring(0, email.IndexOf("@")) } } } msg.Subject = subject; msg.HtmlBody = body; if (attachFiles != null) { foreach (string i in attachFiles) { //File aFile = new File(i); msg.AddAttachment(i); } } return(msg); }
private void CopyAttachments(IMessage msg, MailMessage outMsg) { MAPI33.IMAPITable attachmentsTable = null; msg.GetAttachmentTable(0, out attachmentsTable); using (attachmentsTable) { MAPI33.MapiTypes.Value[,] rows; attachmentsTable.SetColumns(new Tags[] {Tags.PR_ATTACH_FILENAME, Tags.PR_ATTACH_CONTENT_ID, Tags.PR_ATTACH_MIME_TAG, Tags.PR_ATTACH_ENCODING, Tags.PR_ATTACH_LONG_PATHNAME, Tags.PR_ATTACH_SIZE, Tags.PR_ATTACH_NUM}, IMAPITable.FLAGS.Default); //Use OpenAttach to get an IAttachment int attachIdx = 0; for( ;attachmentsTable.QueryRows(1, 0, out rows) == Error.Success && rows.Length > 0; ) { try { attachIdx++; String attachFilename, attachMimeTag, attachContentId; uint attachNum; IAttachment attachObj; byte[] attachData; attachNum = (uint)((MapiInt32)rows[0,6]).Value; msg.OpenAttach(attachNum, IAttachment.IID, 0, out attachObj); using (attachObj) { if (rows[0,0] is MapiString) { attachFilename = ((MapiString)rows[0,0]).Value; } else { attachFilename = String.Format("Attach{0}.dat", attachIdx); } if (rows[0, 1] is MapiString) { attachContentId = ((MapiString)rows[0, 1]).Value; } else { attachContentId = null; } if (rows[0,2] is MapiString) { attachMimeTag = ((MapiString)rows[0,2]).Value; } else { attachMimeTag = String.Format("application/x-octet-stream"); } IStream attachDataStream; IUnknown unk; Error hr = attachObj.OpenProperty(Tags.PR_ATTACH_DATA_BIN, IStream.IID, 0, 0, out unk); //OLE object attachments are PR_ATTACH_DATA_OBJ, so if BIN isn't found, try that if (hr == Error.NotFound) { hr = attachObj.OpenProperty(Tags.PR_ATTACH_DATA_OBJ, IStream.IID, 0, 0, out unk); } if (hr == Error.Success) { attachDataStream = (IStream)unk; unk.Dispose(); using (attachDataStream) { int bytesRead = 0; ArrayList streamContents = new ArrayList(); byte[] buffer = new byte[1024]; do { attachDataStream.Read(buffer, (uint)buffer.Length, out bytesRead); if (bytesRead == buffer.Length) { streamContents.AddRange(buffer); } else { for (int idx = 0; idx < (int)bytesRead; idx++) { streamContents.Add(buffer[idx]); } } } while (bytesRead > 0); attachData = (byte[])streamContents.ToArray(typeof(byte)); } } else { attachData = System.Text.Encoding.ASCII.GetBytes(String.Format("Error getting contents of attachment '{0}' due to error '{1}'", attachFilename, hr)); } //Use a MemoryStream to stream the attachment data into the Attachment object using (MemoryStream ms = new MemoryStream(attachData)) { outMsg.AddAttachment(ms, attachFilename, attachMimeTag, attachContentId); } } } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.ToString()); } } } }