虚拟机上的 SendmailR
SendmailR on virtual machine
我在通过 Outlook 发送带有软件包 sendmailR
的电子邮件时遇到问题。
它在我的主计算机(windows 机器)上运行良好,但是当我在我的虚拟机 运行 Ubuntu 上尝试时,我收到以下错误:
Error in socketConnection(host = server, port = port, blocking = TRUE) :
cannot open the connection
In addition: Warning message:
In socketConnection(host = server, port = port, blocking = TRUE) :
MYADRESSE.local:25 cannot be opened
我使用了以下代码,再次在主机上运行良好。
library(sendmailR)
from <- "myname@company.com"
to <- "myname@company.com"
subject <- "Performance Result"
body <- "This is the result of the test:"
mailControl=list(smtpServer="MYADRESSE.local")
sendmail(from=from,to=to,subject=subject,msg=body,control=mailControl)
我是否必须设置虚拟机才能访问 MYADRESSE.local
?两者(主机和托管)之间的网络设置为 "bridge"。我的最终目标是使用闪亮的服务器创建一个能够通过主机的主 Outlook 发送电子邮件的应用程序,目前,电子邮件搁置工作完美。
Outlook 是邮件客户端,sendmailR 也是。我假设您的意思是,您通过 Outlook 邮件客户端也连接到的 SMTP 邮件服务器发送邮件。
首先,检查您是否可以从虚拟机ping 通您的SMTP 邮件服务器。与您的 Outlook 相同的 SMTP 邮件服务器。
其次,尝试从 VM ubuntu 远程登录到您的 SMTP 服务器,例如
telnet your-smtp-server 22
如果两者都不起作用,请查找有关将 VM 连接到 LAN 的问题。
(更新)
要让您的 Windows 机器与 MYADRESSE.local 通信,主机文件中必须有一个设置。去打开 c:\windows\system32\drivers\etc\hosts,看看是否有它的条目。
如果条目显示
127.0.0.1 MYADRESSE.local
这意味着您的 windows 系统中有 SMTP 服务器设置。如果有任何其他地址,例如(仅举个例子,地址可以不同)
192.168.100.10 MYADDRESS.local
那么192.168.100.10就是你的SMTP服务器地址。那么上面的 ping , telnet 工作显示应该使用这个 IP 地址。例如telnet 192.168.100.10... 而您的 SendMailR 应该使用此 IP 地址,而不是 MYADDRESS.local
我在通过 Outlook 发送带有软件包 sendmailR
的电子邮件时遇到问题。
它在我的主计算机(windows 机器)上运行良好,但是当我在我的虚拟机 运行 Ubuntu 上尝试时,我收到以下错误:
Error in socketConnection(host = server, port = port, blocking = TRUE) :
cannot open the connection
In addition: Warning message:
In socketConnection(host = server, port = port, blocking = TRUE) :
MYADRESSE.local:25 cannot be opened
我使用了以下代码,再次在主机上运行良好。
library(sendmailR)
from <- "myname@company.com"
to <- "myname@company.com"
subject <- "Performance Result"
body <- "This is the result of the test:"
mailControl=list(smtpServer="MYADRESSE.local")
sendmail(from=from,to=to,subject=subject,msg=body,control=mailControl)
我是否必须设置虚拟机才能访问 MYADRESSE.local
?两者(主机和托管)之间的网络设置为 "bridge"。我的最终目标是使用闪亮的服务器创建一个能够通过主机的主 Outlook 发送电子邮件的应用程序,目前,电子邮件搁置工作完美。
Outlook 是邮件客户端,sendmailR 也是。我假设您的意思是,您通过 Outlook 邮件客户端也连接到的 SMTP 邮件服务器发送邮件。
首先,检查您是否可以从虚拟机ping 通您的SMTP 邮件服务器。与您的 Outlook 相同的 SMTP 邮件服务器。
其次,尝试从 VM ubuntu 远程登录到您的 SMTP 服务器,例如
telnet your-smtp-server 22
如果两者都不起作用,请查找有关将 VM 连接到 LAN 的问题。
(更新) 要让您的 Windows 机器与 MYADRESSE.local 通信,主机文件中必须有一个设置。去打开 c:\windows\system32\drivers\etc\hosts,看看是否有它的条目。 如果条目显示
127.0.0.1 MYADRESSE.local
这意味着您的 windows 系统中有 SMTP 服务器设置。如果有任何其他地址,例如(仅举个例子,地址可以不同)
192.168.100.10 MYADDRESS.local
那么192.168.100.10就是你的SMTP服务器地址。那么上面的 ping , telnet 工作显示应该使用这个 IP 地址。例如telnet 192.168.100.10... 而您的 SendMailR 应该使用此 IP 地址,而不是 MYADDRESS.local