如何添加多个电子邮件地址
本文关键字:电子邮件地址 添加 何添加 | 更新日期: 2023-09-27 18:36:48
下面是我正在使用的代码。 我无法使用电源外壳电子邮件地址参数添加多个地址。如果我只输入一个电子邮件地址,代码工作正常,但是一旦我在下面的代码中添加了两个地址,它就会返回异常,指出无效的smtp地址。
PSCredential credential = new PSCredential(username, password);
WSManConnectionInfo connectionInfo = new WSManConnectionInfo((new Uri(liveIdconnectionUri)), "http://schemas.microsoft.com/powershell/Microsoft.Exchange", credential);
connectionInfo.AuthenticationMechanism = AuthenticationMechanism.Default;
Runspace runspace = System.Management.Automation.Runspaces.RunspaceFactory.CreateRunspace(connectionInfo);
PowerShell powershell = PowerShell.Create();
runspace.Open();
powershell.Runspace = runspace;
var secure = new SecureString();
foreach (char c in textBox5.Text)
{
secure.AppendChar(c);
}
PSCommand command2 = new PSCommand();
command2.AddCommand("Set-Mailbox");
command2.AddParameter("Identity", "lferrigno");
command2.AddParameter("EmailAddressPolicyEnabled", 0);
command2.AddParameter("EmailAddresses", "SMTP:lferrigno@sscincorporated.com,lou.ferrigno@altegrahealth.com");
powershell.Commands = command2;
powershell.Invoke();
这是我最终使用的代码,因为它是一个集合。
string[] smtp = { "SMTP:" + textBox6.Text, 9 + "smtp:" + textBox4.Text + "@sscincorporated.com" };
command2.AddParameter("EmailAddresses", smtp);
-EmailAddresses参数采用数组参数(技术上是SmtpProxyAddress对象的集合,但这并不重要,您可以为其提供一个数组,转换将自主处理),但看起来您正在为其提供包含多个地址的单个字符串。您需要提供一个数组参数,其中每个元素都是一个地址,或者尝试以下操作:
command2.AddParameter("EmailAddresses","'SMTP:lferrigno@sscincorporated.com','SMTP:lou.ferrigno@altegrahealth.com'");
即使这仍然是 C# 代码中的一个字符串,如果按原样传递给 PowerShell,PowerShell 也会将其解释为数组。
您还应该能够省略SMTP:
前缀,因为这是默认值,如果您不指定前缀,将自动设置。