C# MailMessage Отображение электронной почты вместо отправки
Я успешно следовал приведенному ниже примеру для отправки электронной почты с использованием кода C#: MSDN Mail Message
Однако я хотел бы, чтобы код отображал составленное сообщение электронной почты на компьютере пользователя, чтобы пользователь мог окончательно проверить его, прежде чем нажать кнопку "Отправить" в Outlook.
В мире VBA я могу использовать mail.Display вместо mail.Send. Кто-нибудь может дать какой-нибудь совет для достижения этого в C#?
Благодарю.
2 ответа
Решение
Нашел отличное решение моей проблемы, т. Е. Использовать Microsoft Office Interop Outlook вместо System.Net.MailMessage.
Далее следует: Как отправить письмо с помощью Microsoft.Office.Interop.Outlook.MailItem, указав адрес отправителя
//using Microsoft.Office.Interop.Outlook;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Office.Interop.Outlook;
namespace ConsoleApplication1
{
using Outlook = Microsoft.Office.Interop.Outlook;
public static class Program
{
static void Main(string[] args)
{
SendUsingAccountExample();
}
private static void SendUsingAccountExample()
{
var application = new Application();
var mail = (_MailItem)application.CreateItem(OlItemType.olMailItem);
mail.Body = "Hello";
mail.Subject = "Good Bye";
mail.To = "hello@google.com";
// Next 2 lines are optional. if not specified, the default account will be used
Outlook.Account account = Application.Session.Accounts["MyOtherAccount"];
mail.SendUsingAccount = account;
mail.Display(false); // To Display
//mail.Send(); // To Send
}
}
}
Как насчет этого...
private void btnEmail_Click(object sender, EventArgs e)
{
string command = "mailto:somebody@domain.com?subject=The Subject&bcc=another@codegaim.com&body=Hi,I found this website and thought you might like it http://www.geocities.com/wowhtml/";
Process.Start(command);
}