C# 以广告组的形式发送电子邮件
在.NET中,我可以使用我拥有的广告群的身份发送电子邮件吗 我当前的代码:C# 以广告组的形式发送电子邮件,c#,.net,email,active-directory,smtp,C#,.net,Email,Active Directory,Smtp,在.NET中,我可以使用我拥有的广告群的身份发送电子邮件吗 我当前的代码: using (var smtp = new SmtpClient("smtp.somecompany.com")) { smtp.Credentials = CredentialCache.DefaultNetworkCredentials; var mail = new MailMessage("mygroup@somecompany.co
using (var smtp = new SmtpClient("smtp.somecompany.com"))
{
smtp.Credentials = CredentialCache.DefaultNetworkCredentials;
var mail = new MailMessage("mygroup@somecompany.com", recipients)
{
...
};
smtp.Send(mail);
}
我越来越
System.Net.Mail.SmtpException:邮箱不可用。服务器响应为:5.7.1客户端没有作为此发件人发送的权限
我知道我可以使用
smtp.Credentials = new NetworkCredential(...)
和密码对
但是,广告组没有密码,我认为组别名甚至不能算作用户名
那么,是否可以将电子邮件作为组发送?广告组是安全对象,与电子邮件没有直接关系。例如,如果您有一个开发组,并且希望开发组中的任何人都可以访问该邮箱,那么使用exchange可以设置一个共享邮箱,AD组中的任何人都可以访问该邮箱。也可以将该邮箱的传出地址设置为dev@yourdomain.com. 使用示例中的代码创建共享邮箱后,将正常工作
MailMessage mail = new MailMessage();
mail.From = new System.Net.Mail.MailAddress("mygroup@somecompany.com");
// The important part -- configuring the SMTP client
SmtpClient smtp = new SmtpClient();
smtp.Port = 587; // [1] You can try with 465 also, I always used 587 and got success
smtp.EnableSsl = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network; // [2] Added this
smtp.UseDefaultCredentials = false; // [3] Changed this
smtp.Credentials = new NetworkCredential(mail.From, "password_here"); // [4] Added this. Note, first parameter is NOT string.
smtp.Host = "smtp.somecompany.com";
//recipient address
mail.To.Add(new MailAddress("yyyy@xxxx.com"));
//Formatted mail body
mail.IsBodyHtml = true;
mail.Body = st;
smtp.Send(mail);
请尝试一下,并提供您的端口号,您的问题
在.NET中检查完此链接后,..我可以使用我拥有的广告组的身份发送电子邮件吗 嗯,差不多。您必须在AD中创建/选择一个用户,然后将该用户分配给启用邮件的通用安全组。确保为组分配电子邮件地址。然后,在.net代码中,您必须作为用户之一进行身份验证,但要将mail.from更改为启用邮件的通用安全组电子邮件地址。现在,如果有人回复电子邮件,邮件将转到启用邮件的通用安全组,并将转发给组内的所有用户。Exchange需要身份验证,因此您可以选择启用邮件的安全组中的任何人作为身份验证者
如果您可以在内部使用单用户电子邮件ID(您的组织用户)发送电子邮件,但不能使用组电子邮件ID,请检查您是否为组电子邮件ID使用了正确的SMTP地址(在outlook中检查此电子邮件的属性) 正如前面回答中提到的,广告群与电子邮件没有直接关系。您可以创建联系人(电子邮件ID,但没有邮箱)和用户(带有邮箱的电子邮件ID) 在java中,我使用的是:
String SMTP_HOST_NAME = "exchange_server";
String SMTP_AUTH_USER = "mygroup@mydomain.com";
String SMTP_AUTH_PWD = "";
Properties props = new Properties();
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.host", SMTP_HOST_NAME);
props.put("mail.smtp.auth", "false");
注意:请检查SMTP_AUTH_PWD是否为空,以及mail.SMTP.AUTH是否为false
另外,检查邮件中继选项,特别是发送到外部域的邮件:
邮件中继选项:请与您的MS exchange团队联系,为您的服务器启用此选项
帮助链接:
启用此选项后,可能所有用户都无法向外部域发送电子邮件,这取决于您的公司策略。因此,在成功地将邮件从应用程序发送到MS Exchange后,可以在电子邮件安全设备(如cisco ironport)上阻止它。希望这会有所帮助。您为什么需要这样做?你想知道这是否普遍可行吗?@MikroDel我想以“受监控邮箱”的形式从群中发送通知电子邮件-群成员可以收到回复。我应该为广告群填写什么密码?亲爱的NS.X。您将填写此电子邮件的密码mygroup@somecompany.com'Active Directory组没有密码,这就是问题的来源。