バウンティ用に更新されました。私が求めているのは、LightSwitch画面の1つにあるボタンをクリックしたときに電子メールを送信する簡単な方法です。電子メールとして送信できるように、(データを収集して処理するために)どの画面からでもデータにアクセスできる必要があります。これは、私の背中を壊したり、サードパーティのコンポーネントやサービスを使用したりせずに、どのように行うことができますか?この場合、サードパーティのものはオプションではありません。
私は見つけたすべてのチュートリアルに従いましたが、うまくいきません。LightSwitchアプリケーションから誰かにメールを送信することはできません。WinForms、WPF、Webサイトから電子メールを送信できるので、問題は自分のコードではないことがわかります。
私はこのチュートリアルに従って「T」を実行しました。(http://blogs.msdn.com/b/bethmassi/archive/2011/01/27/how-to-send-html-email-from-a-lightswitch -application.aspx)それでも機能しません。まず、これが私の現在の問題です:
- このチュートリアルでは、Class.csファイルをServerフォルダーのUserCodeフォルダーに追加するように指示されています。これを行いました。
- また、System.Net.Mailへの参照を追加するように指示されます(明らかに)-私はそれを試しました。System.Net.Mailを追加することはできません。どこにも見つかりません!
- 他のすべてのチュートリアルは同じです-したがって、私が試すことができるものは他にありません。
以下に示すように、参照としてSystem.Net.Mailを追加しようとしましたが、リストにありません。using System.Net.Mail
また、ファイルの先頭にを追加しようとしましたが、私が言ったように。利用できない/存在しない/何でも。
LightSwitchアプリケーションからメールを送信する方法を知っている人はいますか?
これはサービスやウェブサイトタイプのプロジェクトではなく、単なるデスクトップライトスイッチアプリであることに注意してください。
私が作成している請求書管理アプリがあります。残っているのは、テーブルのDateDue値に基づいて、支払いが大幅に遅れている場合に、支払い期限のリマインダーメールを自動送信することだけです。
System.Net.MailはSilverlightで利用できないと言った人々による、MSDNフォーラムでの他のコメントを見たことがあります。そのため、LightSwitchにはありません。それが本当かどうかはわかりませんが、確かにそのように見えています。System.Net.MailをLightSwitchアプリで利用できるようにしたのに、機能させるためだけにフープを飛び越えさせなかったのはなぜですか?
私は自分のコードが問題ないことを知っていると言ったとしても、とにかくそれを投稿します。
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);
}
}
}
}
}
}