1

我尝试使用带有附件的 perl 发送邮件,Email::Stuff并且 MIME::Lite在运行时我遇到了一些错误,因为Authentication failed或服务器未连接有人可以帮助我吗?对应的代码是:

   use MIME::Lite;
use Net::SMTP;
### Adjust sender, recipient and your SMTP mailhost
my $from_address = 'atme04@gmail.com';
my $to_address = 'thiyagu040@gmail.com';
my $mail_host = 'smtp.gmail.com';

### Adjust subject and body message
my $subject = 'A message with 2 parts ...';
my $message_body = "Here's the attachment file(s) you wanted";
my $your_file_zip = 'my.zip';

$msg = MIME::Lite->new (
  From => $from_address,
  To => $to_address,
  Subject => $subject,
  Type =>'multipart/mixed'
) or die "Error creating multipart container: $!\n";
MIME::Lite->send('smtp', 'smtp.gmail.com' ,
                          Port =>465 ,
                          Timeout=>320 ,
                          Debug => 1 ,
                          Hello => $mail_host,
                          User  => $from_address,
                          Password  => 'Thiyagu.04' );
#$mime_msg->send() or die "Error sending message: $!\n";

#MIME::Lite->send('smtp',$mail_host,AuthUser=> $from_address, AuthPass=>"apssword");

$msg->send();

错误信息是;

 SMTP Failed to connect to mail server: A connection attempt failed because the connected party did not properly respond aft
    er a period of time, or established connection failed because connected host has failed to respond.
     at mail.pl line 54.

提前致谢

4

1 回答 1

1

错误信息对我来说似乎很清楚。问题在于您与邮件服务器的连接 - 因此更改您正在使用的模块不太可能获得任何有用的结果。我对 Gmail 的服务器设置知之甚少,无法评论问题所在,但此页面提供了一些您可能会遵循的建议。具体来说,您可以检查 Gmail 帐户是否启用了“允许身份验证”,以及您的邮件客户端(Perl 程序)是否使用 SSL 进行连接。

此外,如果您使用专为 Gmail 设计的电子邮件,这可能会更容易。Email::Send::SMTP::Gmail看起来是根据您的要求量身定制的。

于 2013-04-02T12:09:42.823 回答