0

在 ASP.NET/C# 应用程序 (mvc3) 中,我希望能够发送邮件。

这是我正在使用的功能:

    public static void SendEmail(string fromEmail, string fromName, string toEmail, string toName, string subject, string emailBody, bool isBodyHtml, string[] attachments, string emailServer, int portNumber, string loginName, string loginPassword)
    {
        // setup email header
        System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage();

        // Set the message sender
        // sets the from address for this e-mail message.
        mailMessage.From = new System.Net.Mail.MailAddress(fromEmail, fromName);
        // Sets the address collection that contains the recipients of this e-mail message.
        string[] toEmailList = toEmail.Split(',');
        string[] toNameList = toName.Split(',');
        for (int i = 0;i<toEmailList.Length;++i) 
        {
            mailMessage.To.Add(new System.Net.Mail.MailAddress(toEmailList[i],toNameList[i]));
        }
      //  mailMessage.To.(new System.Net.Mail.MailAddress(toEmail, toName));

        // sets the message subject.
        mailMessage.Subject = subject;
        // sets the message body.
        mailMessage.Body = emailBody;
        // sets a value indicating whether the mail message body is in Html.
        // if this is false then ContentType of the Body content is "text/plain".
        mailMessage.IsBodyHtml = isBodyHtml;

        // add all the file attachments if we have any
        if (attachments != null && attachments.Length > 0)
            foreach (string _Attachment in attachments)
                mailMessage.Attachments.Add(new System.Net.Mail.Attachment(_Attachment));

        // SmtpClient Class Allows applications to send e-mail by using the Simple Mail Transfer Protocol (SMTP).
        System.Net.Mail.SmtpClient _SmtpClient = new System.Net.Mail.SmtpClient(emailServer);

        //Specifies how email messages are delivered. Here Email is sent through the network to an SMTP server.
        _SmtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;

        // Some SMTP server will require that you first authenticate against the server.
        // Provides credentials for password-based authentication schemes such as basic, digest, NTLM, and Kerberos authentication.
        System.Net.NetworkCredential _NetworkCredential = new System.Net.NetworkCredential(loginName, loginPassword);
        _SmtpClient.UseDefaultCredentials = false;

        _SmtpClient.Credentials = _NetworkCredential;
        _SmtpClient.Port = portNumber;
        //Let's send it
        try
        {
            _SmtpClient.Send(mailMessage);
            mailMessage.Dispose();
            _SmtpClient = null;
        }
        catch (Exception ex)
        {
            throw ex;
        }

    }

一切都适用于个人电子邮件。

问题是这样的:

如果其中一个 TO 电子邮件(我要发送到的电子邮件)是组电子邮件,则它不会发送给它。

通过群组电子邮件,我的意思是附有多个联系人的电子邮件,当有人将其发送到该电子邮件时,他们都会收到该消息。

群组电子邮件示例

如果有人向 MyFamily@somedomain.com 发送电子邮件,我的所有家人都会收到它。

我怎样才能使它适用于所有类型的电子邮件,而不仅仅是个人电子邮件。

非常感谢您的帮助

4

1 回答 1

0

我的个人 Google Apps 域也有同样的问题。但问题出在群组电子邮件的配置中,而不是在 c# 代码中。

您是否检查了您对群组电子邮件的权限?您通常可以定义谁可以向该组电子邮件发送电子邮件。因此,您必须使用正确的电子邮件地址或重新配置权限。通常,该组的所有成员都可以向该组发送电子邮件。

于 2012-04-30T11:15:12.120 回答