我想在点击按钮时向当前用户发送电子邮件。我已经使用这行代码获得了当前用户电子邮件,并将其存储在变量中:
SPContext.Current.Web.CurrentUser.Email
但我现在正在寻找通过Outlook向该用户发送电子邮件的最佳方式......任何人都可以向我提供他们在该领域经历过的最佳实践吗?
答案 0 :(得分:1)
以编程方式发送电子邮件的最佳方式是使用SMTPClient。我在这里提供了一个例子:
Imports System.Net.Mail
Imports System.Net
' You need a MailAddress for both to and from
Dim addresses As MailAddress = New MailAddress("SomeEmail@gmail.com")
' The structure for MailMessage(from, to)
Dim message As MailMessage = New MailMessage(addresses, addresses)
message.Subject = "I have sent you a message from a program!"
message.Body = "Hello World!"
Dim messanger As SmtpClient = New SmtpClient("smtp.gmail.com", 587)
messanger.Credentials = New NetworkCredential("YourGmailAccount@gmail.com", "YourPassword")
messanger.EnableSsl = True
messanger.Send(message)
所以它的工作方式是这样的。首先,您必须确定谁正在发送消息并接收消息。正如你所看到的那样,我只是把它做成了同样的电子邮件,这对于测试来说很有用:
“SomeEmail@gmail.com”
然后您必须创建包含主题行和正文的消息。您可以将html代码以及更多内容插入到您的身体中,但现在保持简单:
Dim message As MailMessage = New MailMessage(addresses, addresses)
message.Subject = "I have sent you a message from a program!"
message.Body = "Hello World!"
一旦你完成了你需要创建SMTPClient,它将把消息发送到SMTP服务器,我使用了gmail,因为它很简单,如何配置连接:
Dim messanger As SmtpClient = New SmtpClient("smtp.gmail.com", 587)
messanger.Credentials = New NetworkCredential("YourGmailAccount@gmail.com", "YourPassword")
messanger.EnableSsl = True
配置SMTPClient时需要注意几点。首先,您需要使用确切的主机名,并为要建立的连接更正端口。其次,根据SMTP服务器的不同,您可能需要提供服务器的凭据才能接受您的请求。最后,您必须为gmail消息打开SSL加密。
最后,一旦您生成了所有正确的项目并关联了正确的信息,您就可以使用SMTPClient发送消息,如下所示:
messanger.Send(message)
此外,您需要这两个命名空间才能使代码正常工作:
Imports System.Net.Mail
Imports System.Net
答案 1 :(得分:-1)
在SharePoint中,您可以使用SharePoint函数SPUtility.SendEmail发送电子邮件。有关函数http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.utilities.sputility.sendemail.aspx
的更多信息还要确保正确配置了外发电子邮件设置。