我正在使用脚本任务从SSIS包中生成电子邮件。在测试过程中,我不想真正发送电子邮件,而是将消息放入文件夹中。在应用程序中,我将在web.config中使用指定的PickupDirectory选项,但SSIS程序包没有web.config。
是否可以将电子邮件发送到文件夹?
谢谢
答案 0 :(得分:0)
如果您的脚本任务使用的是C#,则应该可以执行以下操作。类似于您将Web.config更改为使用specifiedPickupDirectory
SmtpClient client = new SmtpClient("my_smtp_host");
client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
client.PickupDirectoryLocation = @"C:\save_email_directory";
client.Send(message);
您可能还需要添加Network
凭据see link for example
答案 1 :(得分:0)
如果您使用Exchange邮件和以下库:http://independentsoft.de/,则可以创建一条消息并将其移动到特定的文件夹中。
我不拥有此软件,但我是一个满意的用户。
只需从以下示例代码开始:http://independentsoft.de/exchangewebservices/tutorial/createmessage.html:
using System;
using System.Net;
using Independentsoft.Exchange;
namespace Sample
{
class Program
{
static void Main(string[] args)
{
NetworkCredential credential = new NetworkCredential("username", "password");
Service service = new Service("https://myserver/ews/Exchange.asmx", credential);
try
{
Message message = new Message();
message.Subject = "Test";
message.Body = new Body("Body text");
message.ToRecipients.Add(new Mailbox("John@mydomain.com"));
message.CcRecipients.Add(new Mailbox("Mark@mydomain.com"));
ItemId itemId = service.CreateItem(message);
}
catch (ServiceRequestException ex)
{
Console.WriteLine("Error: " + ex.Message);
Console.WriteLine("Error: " + ex.XmlMessage);
Console.Read();
}
catch (WebException ex)
{
Console.WriteLine("Error: " + ex.Message);
Console.Read();
}
}
}
}