Vb.net 以编程方式向当前用户发送电子邮件

Vb.net 以编程方式向当前用户发送电子邮件,vb.net,visual-studio,sharepoint,Vb.net,Visual Studio,Sharepoint,我想在点击按钮时向当前用户发送电子邮件。我已收到当前用户电子邮件,其中包含这行代码,并将其存储在一个变量中: SPContext.Current.Web.CurrentUser.Email 但我现在正在寻找通过Outlook向该用户发送电子邮件的最佳方式。。。有谁能向我提供他们在这一领域的最佳实践经验吗?以编程方式发送电子邮件的最佳方式是使用SMTPClient。我在这里举了一个例子: Imports System.Net.Mail Imports System.Net ' You need

我想在点击按钮时向当前用户发送电子邮件。我已收到当前用户电子邮件,其中包含这行代码,并将其存储在一个变量中:

SPContext.Current.Web.CurrentUser.Email

但我现在正在寻找通过Outlook向该用户发送电子邮件的最佳方式。。。有谁能向我提供他们在这一领域的最佳实践经验吗?

以编程方式发送电子邮件的最佳方式是使用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

在SharePoint中获得电子邮件后,您可以使用SharePoint功能SPUtility.sendmail发送电子邮件。有关函数的更多信息


另外,请确保正确配置了发送电子邮件的设置。

是的,这可以与Outlook一起使用。要与Outlook一起使用,应使用Exchange服务器的IP地址。该端口将是有用的,但如果您通过IP连接,没有它,服务器仍然可以正常工作。