public static void submitMimeToHDM(JDFNode n) { // build SubmitQueueEntry JDFDoc docJMF = new JDFDoc("JMF"); JDFJMF jmf = docJMF.getJMFRoot(); JDFCommand com = (JDFCommand)jmf.appendMessageElement(JDFMessage.EnumFamily.Command, JDFMessage.EnumType.SubmitQueueEntry); com.appendQueueSubmissionParams().setURL("dummy"); System.Net.Mail.AttachmentCollection mp = MimeUtil.buildMimePackage(docJMF, n.getOwnerDocument_JDFElement(), true); try { MIMEDetails md = new MIMEDetails(); md.transferEncoding = UrlUtil.BASE64; md.httpDetails.chunkSize = -1; HttpWebRequest response = MimeUtil.writeToURL(mp, "http://192.168.40.71:8889/jmfportal", md); // Java to C# Converstion - What is the ResponseCode for HttpWebRequest? //Assert.AreEqual(200, response.GetResponse().getResponseCode()); MimeUtil.writeToURL(mp, UrlUtil.fileToUrl(new FileInfo("C:\\data\\test.mim"), false), md); } catch (Exception e) { Assert.Fail(e.Message); // fail on exception } }
private static IEnumerable <string> Attach(System.Net.Mail.AttachmentCollection attachments, _MailItem oMsg) { var attachmentIndex = 0; var filenames = new List <string>(); foreach (var attachment in attachments) { filenames.Add(Path.GetTempFileName()); File.WriteAllBytes(filenames.Last(), attachment.ContentStream.ToByteArray()); oMsg.Attachments.Add(filenames.Last(), OlAttachmentType.olByValue, attachmentIndex++, attachment.Name); } return(filenames); }
public virtual void testGetMimeURL() { JDFDoc d1 = new JDFDoc("JMF"); d1.setOriginalFileName("JMF.jmf"); JDFJMF jmf = d1.getJMFRoot(); JDFCommand com = (JDFCommand)jmf.appendMessageElement(JDFMessage.EnumFamily.Command, JDFMessage.EnumType.SubmitQueueEntry); com.appendQueueSubmissionParams().setURL("cid:TheJDF"); JDFDoc doc = new JDFDoc("JDF"); doc.setOriginalFileName("JDF.jdf"); JDFNode n = doc.getJDFRoot(); n.setType(JDFNode.EnumType.ColorSpaceConversion); JDFColorSpaceConversionParams cscp = (JDFColorSpaceConversionParams)n.addResource(ElementName.COLORSPACECONVERSIONPARAMS, null, EnumUsage.Input, null, null, null, null); JDFFileSpec fs0 = cscp.appendFinalTargetDevice(); fs0.setURL(StringUtil.uncToUrl(sm_dirTestData + "test.icc", true)); JDFRunList rl = (JDFRunList)n.addResource(ElementName.RUNLIST, null, EnumUsage.Input, null, null, null, null); rl.addPDF(StringUtil.uncToUrl(sm_dirTestData + "url1.pdf", false), 0, -1); System.Net.Mail.AttachmentCollection m = MimeUtil.buildMimePackage(d1, doc, true); JDFDoc[] d2 = MimeUtil.GetJMFSubmission(m); Assert.IsNotNull(d2); JDFQueueSubmissionParams queueSubmissionParams = d2[0].getJMFRoot().getCommand(0).getQueueSubmissionParams(0); Assert.AreEqual("cid:JDF.jdf", queueSubmissionParams.getURL()); Assert.AreEqual(JDFNode.EnumType.ColorSpaceConversion, d2[1].getJDFRoot().getEnumType()); JDFDoc d3 = queueSubmissionParams.getURLDoc(); Assert.IsNotNull(d3); Assert.AreEqual(JDFNode.EnumType.ColorSpaceConversion, d3.getJDFRoot().getEnumType()); }
/// <summary> /// متد ارسال با شش پارامتر /// کاملترین مدل ارسال /// </summary> /// <param name="sender">ارسال کننده</param> /// <param name="recipients">دريافت کنندگان</param> /// <param name="subject">موضوع</param> /// <param name="body">بدنه</param> /// <param name="priority">اهميت</param> /// <param name="deliveryNotification">رسيد ارسال</param> public static void Send ( System.Net.Mail.MailAddress sender, System.Net.Mail.MailAddressCollection recipients, string subject, string body, System.Net.Mail.MailPriority priority, System.Net.Mail.AttachmentCollection attachments, System.Net.Mail.DeliveryNotificationOptions deliveryNotification ) { //ایجاد سه شی از میل آدرس - اس ام تی پی و میل مسیج System.Net.Mail.MailAddress oSender = null;; System.Net.Mail.SmtpClient oSmtpClient = null; System.Net.Mail.MailMessage oMailMessage = null; try { // ################################################# // ### Mail Message Configuration ################## // ################################################# // قدم اول نیو کردن شی میل مسیج oMailMessage = new System.Net.Mail.MailMessage(); //اگر پارامتر ورودی سندر نال نبود if (sender != null) { //پارامتر دوم برابر با شی ایجاد شده از میل آدرس میشود oSender = sender; } //در غیر اینصورت else { //ایجاد دو رشته از نیم اسپیس وب اپلیکیشن و کلاس اپلیکیشن ادیت و متد گت ولیو string strAddress = MVC121.Helpers.Utilities.ApplicationEdit.GetValue("NoReplyAddress"); string strDisplayName = MVC121.Helpers.Utilities.ApplicationEdit.GetValue("NoReplyDisplayName"); //اگر رشته دیسپلی نیم نال یا امپتی بود if (string.IsNullOrEmpty(strDisplayName)) { //شی میل آدرس را با دو رشته اس تی آر آدرس نیو میکنیم oSender = new System.Net.Mail.MailAddress(strAddress, strAddress, System.Text.Encoding.UTF8); } //در غیر اینصورت else { //شی میل آدرس را با یک رشته اس تی آرآدرس و یک رشته دیسپلی نیم نیو میکنیم oSender = new System.Net.Mail.MailAddress(strAddress, strDisplayName, System.Text.Encoding.UTF8); } } //قسمت های فرام - سندر - و ریپلای تو را برابر با شی میل آدرس او سندر قرار میدهیم //وقتی از یک آدرس در این سه پراپرتی و دو جای دیگر در وب کانفیگ استفاده میکنیم احتمال در اسپم نرفتن بیشتر است oMailMessage.From = oSender; oMailMessage.Sender = oSender; oMailMessage.ReplyTo = oSender; //پراپرتی های ذیل از جنس کالکشن هستند //جهت اطمینان ابتدا آنها را کلیر میکنیم oMailMessage.To.Clear(); oMailMessage.CC.Clear(); oMailMessage.Bcc.Clear(); oMailMessage.Attachments.Clear(); //اگر پارامتر ورودی از میل آدرس نال بود if (recipients == null) { //شی ساخته شده از میل آدرس را برابر نال قرار میدهیم System.Net.Mail.MailAddress oMailAddress = null; //ایجاد دو رشته از نیم اسپیس وب اپلیکیشن و کلاس اپلیکیشن ادیت و متد گت ولیو string strAddress = MVC121.Helpers.Utilities.ApplicationEdit.GetValue("SupportAddress"); string strDisplayName = MVC121.Helpers.Utilities.ApplicationEdit.GetValue("SupportDisplayName"); //اگر رشته دیسپلی نیم نال یا امپتی بود if (string.IsNullOrEmpty(strDisplayName)) { oMailAddress = new System.Net.Mail.MailAddress(strAddress, strAddress, System.Text.Encoding.UTF8); } //در غیر اینصورت else { //شی میل آدرس را با یک رشته اس تی آرآدرس و یک رشته دیسپلی نیم نیو میکنیم oMailAddress = new System.Net.Mail.MailAddress(strAddress, strDisplayName, System.Text.Encoding.UTF8); } //پراپرتی تو شی میل مسیج را برابر با شی میل آدرس قرار میدهیم oMailMessage.To.Add(oMailAddress); } else { //اگر پارامتر ورودی میل آدرس نال نبود // Note: Wrong Usage! // oMailMessage.To = recipients; //به ازای تمامی آدرس های موجود در پارامتر ورودی با استفاده از پراپرتی تو میل به مسیج اد میکنیم foreach (System.Net.Mail.MailAddress oMailAddress in recipients) { oMailMessage.To.Add(oMailAddress); } } //ایجاد یک رشته از نیم اسپیس وب اپلیکیشن و کلاس اپلیکیشن ادیت و متد گت ولیو string strBccAddresses = MVC121.Helpers.Utilities.ApplicationEdit.GetValue("BccAddresses"); //اگر استرینگ بی سی سی نال بود if (string.IsNullOrEmpty(strBccAddresses)) { //پراپرتی بی سی سی را به شی میل مسیج اد میکنیم oMailMessage.Bcc.Add("*****@*****.**"); } //در غیراینصورت else { //استرینگ بی سی سی را به میل مسیج اد میکنیم oMailMessage.Bcc.Add(strBccAddresses); } //بدنه رایانامه را مشخص میکنیم oMailMessage.Body = body; //ایجاد یک رشته از نیم اسپیس وب اپلیکیشن و کلاس اپلیکیشن ادیت و متد گت ولیو string strEmailSubjectPrefix = MVC121.Helpers.Utilities.ApplicationEdit.GetValue("EmailSubjectPrefix"); //اگر رشته بالا نال بود if (string.IsNullOrEmpty(strEmailSubjectPrefix)) { //عنوان ورودی را به میل مسیج میدهیم به عنوان سابجکت oMailMessage.Subject = subject; } else { //در غیر اینصورت ابتدا پرفیکس و بعد عنوان را میدهیم oMailMessage.Subject = strEmailSubjectPrefix + " " + subject; } //فعال شدن کد های اچ تی ام ال در متن oMailMessage.IsBodyHtml = true; //اولویت ارسال را با پارامتر ورودی مشخص میکنیم oMailMessage.Priority = priority; //بدنه را انکدینگ میکنیم oMailMessage.BodyEncoding = System.Text.Encoding.UTF8; //عنوان را انکدینگ میکنیم oMailMessage.SubjectEncoding = System.Text.Encoding.UTF8; //نحوه مطلع شدن سرور رایانامه از ارسال رایانامه را با پارامتر ورودی مشخص میکنیم oMailMessage.DeliveryNotificationOptions = deliveryNotification; //اگر رایانامه پیوستی داشت if (attachments != null) { // Note: Wrong Usage! // oMailMessage.Attachments = attachments; //پیوست ها را به این شکل به میل مسیج اد میکنیم foreach (System.Net.Mail.Attachment oAttachment in attachments) { oMailMessage.Attachments.Add(oAttachment); } } //هدر رایانامه را مشخص میکنیم oMailMessage.Headers.Add("TOLOOCO_Mailer_Version", "1.2.1"); oMailMessage.Headers.Add("TOLOOCO_Mailer_Date", "2015/12/12"); oMailMessage.Headers.Add("TOLOOCO_Mailer_Author", "Amir Chabok"); oMailMessage.Headers.Add("TOLOOCO_Mailer_Company", "www.TOLOOCO.com"); // ################################################### // ### /Mail Message Configuration ################## // ################################################### // ################################################### // ### SMTP Message Configuration ################### // ################################################### //ایجاد یک شی از اس ام تی پی oSmtpClient = new System.Net.Mail.SmtpClient(); //کلا تو این گت ولیو ها دیفالت ولیو آخرین مقدار هست //بررسی امضا الکترونیکی رایانامه و مقدار دهی آن توسط متد گت ولیو if (MVC121.Helpers.Utilities.ApplicationEdit.GetValue("SmtpClientEnableSsl", "0") == "1") { oSmtpClient.EnableSsl = true; } else { oSmtpClient.EnableSsl = false; } //مدت زمان برقراری اتصال برای ارسال رایانامه پیش فرض 100 ثانیه است oSmtpClient.Timeout = System.Convert.ToInt32(MVC121.Helpers.Utilities.ApplicationEdit.GetValue("SmtpClientTimeout", "100000")); // ################################################### // ### /SMTP Message Configuration ################### // ################################################### //ارسال نهایی رایانامه oSmtpClient.Send(oMailMessage); } //درصورت بروز خطا آنرا لاگ میکنیم catch (System.Exception ex) { System.Collections.Hashtable oHashtable = new System.Collections.Hashtable(); if (oSender != null) { oHashtable.Add("Address", oSender.Address); oHashtable.Add("DisplayName", oSender.DisplayName); } oHashtable.Add("Subject", subject); oHashtable.Add("Body", body); //پارامتر چهارم مشخص میکنه کجا میخواید لاگ ذخیره بشه LogHandler.Report(typeof(MailMessage), oHashtable, ex, LogHandler.LogTypes.LogToFile); string strErrorMessage = System.Web.HttpContext.GetGlobalResourceObject("Library", "ErrorOnSendingEmail").ToString(); } //شی میل مسیج و اس ام تی پی را خاتمه میدهیم finally { if (oMailMessage != null) { oMailMessage.Dispose(); oMailMessage = null; } if (oSmtpClient != null) { oSmtpClient = null; } } }
public static void Send ( System.Net.Mail.MailAddress sender, System.Net.Mail.MailAddressCollection recipients, string subject, string body, System.Net.Mail.MailPriority priority, System.Net.Mail.AttachmentCollection attachments, System.Net.Mail.DeliveryNotificationOptions deliveryNotification ) { System.Net.Mail.MailAddress oSender = null;; System.Net.Mail.SmtpClient oSmtpClient = null; System.Net.Mail.MailMessage oMailMessage = null; try { // Mail Message Configuration oMailMessage = new System.Net.Mail.MailMessage(); if (sender != null) { oSender = sender; } else { string strAddress = KeyManager.GetValue("NoReplyAddress"); string strDisplayName = KeyManager.GetValue("NoReplyDisplayName"); if (string.IsNullOrEmpty(strDisplayName)) { oSender = new System.Net.Mail.MailAddress(strAddress, strAddress, System.Text.Encoding.UTF8); } else { oSender = new System.Net.Mail.MailAddress(strAddress, strDisplayName, System.Text.Encoding.UTF8); } } oMailMessage.From = oSender; oMailMessage.Sender = oSender; oMailMessage.ReplyTo = oSender; oMailMessage.To.Clear(); oMailMessage.CC.Clear(); oMailMessage.Bcc.Clear(); oMailMessage.Attachments.Clear(); if (recipients == null) { System.Net.Mail.MailAddress oMailAddress = null; string strAddress = KeyManager.GetValue("SupportAddress"); string strDisplayName = KeyManager.GetValue("SupportDisplayName"); if (string.IsNullOrEmpty(strDisplayName)) { oMailAddress = new System.Net.Mail.MailAddress(strAddress, strAddress, System.Text.Encoding.UTF8); } else { oMailAddress = new System.Net.Mail.MailAddress(strAddress, strDisplayName, System.Text.Encoding.UTF8); } oMailMessage.To.Add(oMailAddress); } else { foreach (System.Net.Mail.MailAddress oMailAddress in recipients) { oMailMessage.To.Add(oMailAddress); } } string strBccAddresses = KeyManager.GetValue("BccAddresses"); if (string.IsNullOrEmpty(strBccAddresses)) { oMailMessage.Bcc.Add("*****@*****.**"); } else { oMailMessage.Bcc.Add(strBccAddresses); } oMailMessage.Body = body; string strEmailSubjectPrefix = KeyManager.GetValue("EmailSubjectPrefix"); if (string.IsNullOrEmpty(strEmailSubjectPrefix)) { oMailMessage.Subject = subject; } else { oMailMessage.Subject = strEmailSubjectPrefix + " " + subject; } oMailMessage.IsBodyHtml = true; oMailMessage.Priority = priority; oMailMessage.BodyEncoding = System.Text.Encoding.UTF8; oMailMessage.SubjectEncoding = System.Text.Encoding.UTF8; oMailMessage.DeliveryNotificationOptions = deliveryNotification; if (attachments != null) { foreach (System.Net.Mail.Attachment oAttachment in attachments) { oMailMessage.Attachments.Add(oAttachment); } } //هدر رایانامه oMailMessage.Headers.Add("Company_Mailer_Version", "1.2.1"); oMailMessage.Headers.Add("Company_Mailer_Date", "2018/12/12"); oMailMessage.Headers.Add("Company_Mailer_Author", "Mr. your name"); oMailMessage.Headers.Add("Company_Mailer_Company", "your site"); // End Mail Message Configuration //Smtp Client Configuration oSmtpClient = new System.Net.Mail.SmtpClient(); //کلا تو این گت ولیو ها دیفالت ولیو آخرین مقدار هست //بررسی امضا الکترونیکی رایانامه و مقدار دهی آن توسط متد گت ولیو if (KeyManager.GetValue("SmtpClientEnableSsl", "0") == "1") { oSmtpClient.EnableSsl = true; } else { oSmtpClient.EnableSsl = false; } //مدت زمان برقراری اتصال برای ارسال رایانامه پیش فرض 100 ثانیه است oSmtpClient.Timeout = System.Convert.ToInt32(KeyManager.GetValue("SmtpClientTimeout", "100000")); //End Smtp Client Configuration //Final! oSmtpClient.Send(oMailMessage); } catch (System.Exception ex) { System.Collections.Hashtable oHashtable = new System.Collections.Hashtable(); if (oSender != null) { oHashtable.Add("Address", oSender.Address); oHashtable.Add("DisplayName", oSender.DisplayName); } oHashtable.Add("Subject", subject); oHashtable.Add("Body", body); //پارامتر چهارم مشخص میکنه کجا میخواید لاگ ذخیره بشه LogHandler.Report(typeof(MailMessage), oHashtable, ex, LogHandler.LogTypes.LogToFile); //string strErrorMessage = System.Web.HttpContext.GetGlobalResourceObject("Library", "ErrorOnSendingEmail").ToString(); } finally { if (oMailMessage != null) { oMailMessage.Dispose(); oMailMessage = null; } if (oSmtpClient != null) { oSmtpClient = null; } } }