我写了一个Perl程序,通过Gmail帐户发送电子邮件。
我使用NET :: SMTP,NET :: SMTP :: SSL和Authen :: SASL模块。将SMTP端口设置为465后,它可以正常工作。
$ smtp = Net :: SMTP :: SSL-> new('smtp.gmail.com',Hello =>'localhost',Port =>'465',Timeout => 30,Debug = > 1);
但是在一个客户站点中,运行我的程序的PC只有HTTP权限才能访问Internet。所以上面的代码行不能再工作了。 (我认为SMTP需要PC允许袜子。) 我试过Mail :: Webmail :: Gmail,但似乎这个模块太旧了,不能再工作了。
我想知道在这种情况下是否可以发送电子邮件只是在Perl中使用网络访问,就像打开网络浏览器登录Gmail一样? 谢谢!
答案 0 :(得分:0)
在寻找相关问题的解决方案时偶然发现了这一点。我意识到它已经过时了,但没有答案,而其他人可能会遇到它。此外,评论是不必要的粗鲁和无益的,并评估那些评论不可能做出的情况。将GMail用于商业是非常合理的,事实上Google提供商业电子邮件服务,任何此类用户都可能正在使用这些服务。所以继续寻找可能的解决方案。
您可以设置一个侦听端口80的外部代理,并将该流量重定向到Google的端口465。
我同意上述有关Google屏幕抓取的评论。如果第三方服务在您的使用案例中有效,我也同意使用第三方服务的可能性。
关于此问题,如果阻止端口465发送,则需要使用允许发送的其他端口。由于Google仅在smtp.gmail.com上收听25,465和587,因此您需要使用一个代理,该代理允许您将在允许端口上发出的请求重定向到Google正在侦听的其中一个端口。