通过REBOL 2中的GMail SMTP发送电子邮件

duk*_*reg 3 gmail rebol rebol2

我是REBOL的新手.关于REBOL用于发送电子邮件的例子的博客,例如"发送"文档中的这个示例:

send luke@rebol.com "Testing REBOL Function Summary"
Run Code Online (Sandbox Code Playgroud)

看过这么简单方便,我兴奋地尝试通过我的GMail帐户向自己发送测试邮件.

我查看了SMTP/POP的官方GMail帮助以获取相关的SMTP/POP服务器名称:https: //support.google.com/mail/answer/7104828?hl = en

以下是"发送"和"设置网络"文档在多大程度上让我:

>> set-net [ myrealusername@gmail.com smtp.gmail.com pop.gmail.com ]
>> send myrealusername@gmail.com "Hello me!"
connecting to: smtp.gmail.com
** Access Error: Cannot connect to smtp.gmail.com
** Where: open-proto
** Near: smtp-port: open [scheme: 'esmtp]
either only
Run Code Online (Sandbox Code Playgroud)

经过反思,当然没有用; 我告诉REBOL没有想要使用SSL/TLS,相关端口号或我的GMail密码.它必须需要以上所有才能实际发送电子邮件.

那我该怎么做?

Gra*_*hiu 5

几年前我修改了协议以使用gmail.我希望他们仍然有效.

你需要同时运行prot-ssmtp.r和prot-ssend.r,你需要一个支持ssl的rebol2版本.这可以是免费的视图构建,也可以是付费的核心构建.

do https://raw.githubusercontent.com/gchiu/Rebol2/master/Protocols/prot-ssmtp.r
do https://raw.githubusercontent.com/gchiu/Rebol2/master/Protocols/prot-ssend.r
Run Code Online (Sandbox Code Playgroud)

现在,您可以手动设置用户和密码:

system/schemes/esmtp/user: "username"
system/schemes/esmtp/pass: "password"
Run Code Online (Sandbox Code Playgroud)

或者,当脚本第一次运行时,将询问您的值,以便可以为该rebol实例设置它们.prot-ssmtp使用端口465,但如果它不再正确,你可以修改它.

然后在设置set-net之后应该如此直接:

ssend email@someon.com "This is my message"
Run Code Online (Sandbox Code Playgroud)

请注意,我们现在在ren-c发送电子邮件,这是rebol3的开源分支.