Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 使用公司域发送电子邮件_Excel_Vba_Email - Fatal编程技术网

Excel 使用公司域发送电子邮件

Excel 使用公司域发送电子邮件,excel,vba,email,Excel,Vba,Email,我正在尝试创建一个VBA脚本,它使用Google服务器,但不使用公司域。典型的例子是firstname@company.com 我正在使用下面的代码,但是如果我使用的域名不是gmail,它会给我一个错误。我想让用户输入他们的登录信息(用户名和密码) 在运行代码之前,您需要添加Microsoft CDO引用 工具-->参考-->Microsoft CDO for Windows 2000库 Sub MailTest() Dim Mail As New Message Dim Config As

我正在尝试创建一个VBA脚本,它使用Google服务器,但不使用公司域。典型的例子是
firstname@company.com

我正在使用下面的代码,但是如果我使用的域名不是
gmail
,它会给我一个错误。我想让用户输入他们的登录信息(用户名和密码)


在运行代码之前,您需要添加Microsoft CDO引用

工具-->参考-->Microsoft CDO for Windows 2000库

Sub MailTest()

Dim Mail As New Message
Dim Config As Configuration

Set Config = Mail.Configuration

Config(cdoSendUsingMethod) = cdoSendUsingPort
Config(cdoSMTPServer) = "smtp.gmail.com"
Config(cdoSMTPServerPort) = 25
Config(cdoSMTPAuthenticate) = cdoBasic
Config(cdoSMTPUseSSL) = True
Config(cdoSendUserName) = InputBox("EnterUsername")
' Otherwise if you use text box
'config(cdoSendUserName) = UserForm1.TextBox1.Text
Config(cdoSendPassword) = InputBox("Password")
' Otherwise if you use text box
'config(cdoSendUserName) = UserForm1.TextBox2.Text
Config.Fields.Update


Mail.To = "yahoo44@gmail.com"
Mail.From = Config(cdoSendUserName)
Mail.Subject = "Email Subject"
Mail.HTMLBody = "<b> mail body </b>"
Mail.Sender = " MRSender"

  Mail.Send
  MsgBox "mail has been sent"

End Sub
子邮件测试()
将邮件设置为新邮件
Dim配置为配置
Set Config=Mail.Configuration
配置(cdoSendUsingMethod)=cdoSendUsingPort
配置(cdoSMTPServer)=“smtp.gmail.com”
配置(cdoSMTPServerPort)=25
配置(cdoSMTPAuthenticate)=cdoBasic
配置(cdoSMTPUseSSL)=真
配置(cdoSendUserName)=输入框(“输入用户名”)
'否则,如果使用文本框
'config(cdoSendUserName)=UserForm1.TextBox1.Text
配置(cdoSendPassword)=输入框(“密码”)
'否则,如果使用文本框
'config(cdoSendUserName)=UserForm1.TextBox2.Text
Config.Fields.Update
Mail.To=”yahoo44@gmail.com"
Mail.From=Config(cdoSendUserName)
Mail.Subject=“电子邮件主题”
Mail.HTMLBody=“邮件正文”
Mail.Sender=“MRSender”
邮寄
MsgBox“邮件已发送”
端接头

我可以知道为什么即使在我提供了有效答案之后,仍然投票否决我的答案吗?
Sub MailTest()

Dim Mail As New Message
Dim Config As Configuration

Set Config = Mail.Configuration

Config(cdoSendUsingMethod) = cdoSendUsingPort
Config(cdoSMTPServer) = "smtp.gmail.com"
Config(cdoSMTPServerPort) = 25
Config(cdoSMTPAuthenticate) = cdoBasic
Config(cdoSMTPUseSSL) = True
Config(cdoSendUserName) = InputBox("EnterUsername")
' Otherwise if you use text box
'config(cdoSendUserName) = UserForm1.TextBox1.Text
Config(cdoSendPassword) = InputBox("Password")
' Otherwise if you use text box
'config(cdoSendUserName) = UserForm1.TextBox2.Text
Config.Fields.Update


Mail.To = "yahoo44@gmail.com"
Mail.From = Config(cdoSendUserName)
Mail.Subject = "Email Subject"
Mail.HTMLBody = "<b> mail body </b>"
Mail.Sender = " MRSender"

  Mail.Send
  MsgBox "mail has been sent"

End Sub