0

我从 5 天开始就遇到了一个问题。

我需要一种方法来达到以下要求。

  1. 邮件列表存在于数据库(SQL 服务器)中
  2. 我在 Outlook 中有一封邮件
  3. 现在我必须向数据库中的所有 200,000 个邮件 ID 发送邮件
    **注意一封邮件只能有 200 个邮件 ID,因此 200,000/200=1000 个邮件 **注意:这 200,000 个计数不是固定的,它会减少和增加 > 像 jhon @xyz.com 今天将在场,第二天我们可能不需要发送给他,他的名字可能会被完全删除(所以 DL 不是一个选项)
  4. 我需要一种方法来自动化这个
  5. 我晚上睡得少,桌子上有咖啡杯

我在 ASP.net 中工作,任何满足此需求的 PL 都可以。

4

1 回答 1

0

我假设您知道如何根据需要创建 sql 语句以及如何从 .NET 中的数据库中检索数据。这意味着唯一的问题实际上是从 Outlook 发送这个。

是一篇详细描述这一点的文章以及从那里复制的一段代码。

using System; 
using System.Text; 
using Outlook = Microsoft.Office.Interop.Outlook; 

namespace OutlookAddIn1 
{ 
    class Sample 
    { 
        public static void SendEmailFromAccount(Outlook.Application application, string subject, string body, string to, string smtpAddress) 
        { 

            // Create a new MailItem and set the To, Subject, and Body properties. 
            Outlook.MailItem newMail = (Outlook.MailItem)application.CreateItem(Outlook.OlItemType.olMailItem); 
            newMail.To = to; 
            newMail.Subject = subject; 
            newMail.Body = body; 

            // Retrieve the account that has the specific SMTP address. 
        Outlook.Account account = GetAccountForEmailAddress(application, smtpAddress); 
            // Use this account to send the e-mail. 
            newMail.SendUsingAccount = account; 
            newMail.Send(); 
        } 


        public static Outlook.Account GetAccountForEmailAddress(Outlook.Application application, string smtpAddress) 
        { 

            // Loop over the Accounts collection of the current Outlook session. 
            Outlook.Accounts accounts = application.Session.Accounts; 
        foreach (Outlook.Account account in accounts) 
            { 
                // When the e-mail address matches, return the account. 
                if (account.SmtpAddress == smtpAddress) 
                { 
                    return account; 
                } 
            } 
            throw new System.Exception(string.Format("No Account with SmtpAddress: {0} exists!", smtpAddress)); 
        } 

   } 
}

我的建议是跳过使用 Outlook,除非确实有必要,而是通过直接与 SMTP 服务器通信来发送电子邮件。

只需搜索“如何从 C# 发送电子邮件”或类似内容,您就会找到大量示例。

于 2013-04-17T17:36:59.437 回答