我使用这种方法来发送我的电子邮件...请注意,这不是专门针对 Outlook...它将使用任何软件作为用户计算机上设置的默认电子邮件程序:
public bool SendEmail(List<string> toAddresses, List<string> ccAddresses, string fromAddress, string emailSubject, string emailBody, bool isBodyHtml)
{
MailMessage email = new MailMessage();
email.From = new MailAddress(fromAddress);
foreach (string address in toAddresses) email.To.Add(new MailAddress(address));
foreach (string address in ccAddresses) email.CC.Add(new MailAddress(address));
email.BodyEncoding = Encoding.UTF8;
email.IsBodyHtml = false;
email.Subject = emailSubject;
email.Body = emailBody;
email.Priority = MailPriority.Low;
SmtpClient smtpClient = new SmtpClient(Settings.Default.DefaultEmailServerPath);
smtpClient.Credentials = new NetworkCredential(Settings.Default.EmailNetworkCredentialUserName, Settings.Default.EmailNetworkCredentialPassword, Settings.Default.EmailNetworkCredentialDomain);
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.Host = Settings.Default.DefaultEmailServerPath;
smtpClient.UseDefaultCredentials = true;
try { smtpClient.Send(email); }
catch { return false; }
return true;
}
请注意,我为此提供了重载方法,因此该方法包含所有选项……如果您愿意,可以自由删除几行。还有一种发送电子邮件的快捷方式:
System.Diagnostics.Process.Start("mailto:youremail@yourcompany.com");
基本上,我会在您的 UI 中添加一个HyperLink
控件或一个Button
具有的控件,Command
然后从您的处理程序中调用此代码。您可以从 MSDN 的Hyperlink 类页面中找到有关该HyperLink
控件的更多信息,并且在这篇文章中找到了一个很好的示例。
更新>>>
你真的应该提供代码示例......我不知道你是如何设置你的TextBox
,你是否绑定,参数的名称等等。因此,我只能假设您必须与自己的代码相关联。
首先,在与您的相同位置添加一个Hyperlink
控件:TextBox
<TextBox Grid.Row="0" Grid.Column="1" Name="EmailTextBox" Text="{Binding Email}"
Visibility="{Binding IsValidEmail, Converter={StaticResource
InverseBoolToVisibilityConverter}}" />
<TextBlock Grid.Row="0" Grid.Column="1">
<Hyperlink RequestNavigate="Hyperlink_RequestNavigate">
<TextBlock Text="{Binding Text, ElementName=EmailTextBox}" Visibility="{
Binding IsValidEmail, Converter={StaticResource BoolToVisibilityConverter}}" />
</Hyperlink>
</TextBlock>
您会看到这里的基本思想是让两个控件共享一个 UI 位置,并根据TextBox
. 因此,您需要添加一个bool
属性(IsValidEmail
在我的示例中),当文本值是有效的电子邮件地址时将其设置为 true。然后BoolToVisibilityConverter
将把该真值转换Visibility.Visible
为Hyperlink
控件,InverseBoolToVisibilityConverter
并将该假值转换为Visibility.Collapsed
或Visibility.Hidden
用于Hyperlink
控件。我希望并相信您可以自己解决剩下的问题,因为我今天的时间有限。