我有几百个通过gmailSMTP发送电子邮件的Perl脚本,所有的都是,并且已经用硬编码的gmail密码工作了几年了。
为了简化密码更改(以及安全性),我想将密码移动到一个env var中,并将其拉入Perl脚本中。
my $smtp = Net::SMTP::SSL->new('smtp.gmail.com', Port => 465);
my $passwd = $ENV{'PASSWD'}; # I added this line
$smtp->auth('email@gmail.com', $passwd); # I replaced 'theHardCodedPassWord' with $passwd
同样的方法也适用于非smtp场景--我从env var中提取信息并使用它。
我做错了什么?
1条答案
按热度按时间xxls0lw81#
两种明显的调试方法:
auth()
之前,打印$ENV{PASSWD}
和$passwd
的值。Debug => 1
添加到对new()
的调用中)。其他几点: