[英]Send clipboard content via email using Console Application c#
我設法創建了一個簡單的應用程序,該應用程序將發送包含特定文本的電子郵件,但是我想知道是否可以發送相同的電子郵件,但是將文本內容復制到剪貼板中?
在我的oMail.TextBody
我想粘貼剪貼板的內容並通過電子郵件發送。
static void Main(string[] server)
{
SmtpMail oMail = new SmtpMail("TryIt");
EASendMail.SmtpClient oSmtp = new EASendMail.SmtpClient();
// Set sender email address
oMail.From = "myEmail";
// Set recipient email address
oMail.To = "myEmail";
// Set email subject
oMail.Subject = "test email from c# project";
// Set email body
oMail.TextBody = "Clipboard content pasted here..."
}
有什么辦法嗎? 另外,我正在using EASendMail
命名空間。
在控制台應用程序中,剪貼板可以在某些線程狀態下訪問,尤其是STA。
看看這個SO問題進行解釋。
因此,編寫這樣的靜態方法:
static string GetClipboardText()
{
string result = string.Empty;
Thread staThread = new Thread(x =>
{
try
{
result = Clipboard.GetText();
}
catch (Exception ex)
{
result = ex.Message;
}
});
staThread.SetApartmentState(ApartmentState.STA);
staThread.Start();
staThread.Join();
return result;
}
並在您的主要方法中使用它
oMail.TextBody = GetClipboardText();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.