簡體   English   中英

從LightSwitch應用程序發送電子郵件

[英]Sending e-mail from a LightSwitch application

已更新為賞金。 當我點擊我的一個LightSwitch屏幕上的按鈕時,我所追求的是一種發送電子郵件的簡單方法。 我需要能夠從任何屏幕訪問數據(以收集和處理它),以便它可以作為電子郵件發送。 如何在不背棄它或使用任何第三方組件或服務的情況下完成這項工作? 在這種情況下,第三方的東西不是一種選擇。


我已經按照我能找到的每個教程進行了操作,但它無法正常工作。 無論我怎么做,我都無法通過LightSwitch應用程序向某人發送電子郵件。 我可以從WinForms,WPF,網站發送電子郵件 - 所以我知道這不是我的代碼問題。

我已經將本教程改為“T”,並且( http://blogs.msdn.com/b/bethmassi/archive/2011/01/27/how-to-send-html-email-from-a-lightswitch -application.aspx )它仍然無法正常工作。 首先,這是我目前的問題:

  1. 在本教程中,它告訴您將Class.cs文件添加到Server文件夾中的UserCode文件夾 - 我這樣做了。
  2. 它還告訴你添加對System.Net.Mail的引用(顯然) - 我試過了。 System.Net.Mail無法添加。 我找不到任何地方!
  3. 每個其他教程都是一樣的 - 所以我知道的其他任何東西我都無法嘗試。

正如您在下面看到的,我嘗試添加System.Net.Mail作為參考,但它不在列表中。 我也嘗試將using System.Net.Mail添加到文件的頂部,但就像我說的那樣; 它不可用/不存在/無論如何。

在此輸入圖像描述

任何人都知道如何從LightSwitch應用程序發送電子郵件?

請注意,這不是服務或網站類型項目,只是一個簡單的桌面Lightswitch應用程序。

我有一個我正在制作的發票管理應用程序,剩下的唯一部分是根據表格中的DateDue值,如果付款過期,則自動發送付款到期提醒電子郵件。

我在MSDN論壇上看到過其他人的評論,他們說Silverlight中沒有System.Net.Mail,這就是LightSwitch不存在的原因。 我不知道這是不是真的,但它肯定是這樣的。 為什么他們不能讓LightSwitch應用程序使用System.Net.Mail而不讓我們跳過籃球只是為了讓它工作?

雖然我說我知道我的代碼很好,但無論如何我都會發布它。

C#:( 請注意,在我的CLASS文件中,System.Net.Mail是可用的 ,但我無法從其他任何地方或整個項目中的任何其他文件訪問此文件中此代碼的任何部分!)

 using System; using System.Collections.Generic; using System.Linq; using System.Net.Mail; using System.Web; namespace LightSwitchApplication { public class JTS { public class Mail { public string recipient { get; set; } public string subject { get; set; } public string message { get; set; } public void Send() { using (MailMessage mailmessage = new MailMessage()) { mailmessage.From = new MailAddress("@.com"); mailmessage.To.Add(recipient); mailmessage.Subject = subject; mailmessage.Body = message; mailmessage.Priority = MailPriority.High; using (SmtpClient client = new SmtpClient()) { client.Credentials = new System.Net.NetworkCredential("@.com", "_SVN"); client.EnableSsl = false; client.Host = "m..com"; client.Port = 25; client.Send(mailmessage); } } } } } } 

System.Net.Mail是命名空間,而不是程序集。 嘗試添加對System.Net的引用,看看是否有幫助。

你提到的那個教程引用了這個 ,它是System.Net它們正在添加引用。

您應該能夠將對System.Net的引用添加到Server項目,因為該項目是一個.NET項目,與Silverlight項目不同,它對您可以使用的代碼沒有限制。 因此,您可以右鍵單擊“服務器”項目,然后選擇“添加引用”,然后找到System.Net程序集。

文章中的方法是可行的,但可能不那么明顯的是,盡管您可以在Server項目中使用.NET代碼,但您無法直接從Client項目訪問該代碼(或您自己的代碼)。

看看這篇文章,我們稱之為“ 命令表模式 ”,用於解決客戶端項目代碼無法直接調用服務器項目代碼的事實。

另一種方法是使用免費提供的Office Integration Pack擴展 ,“ 可以通過桌面業務應用程序中常見的各種方式輕松操作2010版本的Excel,Word和Outlook 。創建文檔,PDF,電子表格, 電子郵件和使用LightSwitch應用程序數據的約會 “。

還有一個示例應用程序可供下載。

我希望這有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM