[英]PERL Email::Send::Gmail Cannot connect to Gmail account on Windows 7
[英]Cannot send email in perl
由於某些原因,我無法在perl中發送電子郵件。 我檢查了我的環境路徑和sendmail路徑,一切都正確。 但是我沒有收到電子郵件。我不確定是否遺漏了一些東西。
#!/usr/bin/perl -wT
use CGI qw(:standard);
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
use strict;
print header;
print start_html("Results");
$ENV{PATH} = "/usr/sbin" ;
open (MAIL, "|/usr/sbin/sendmail -oi -t") or
&dienice("Can't fork for sendmail: $!\n");
my $recipient = "myusername\@gmail.com";
print MAIL "To: $recipient\n";
print MAIL "From: nobody\@cgi101.com\n" ;
print MAIL "Subject: Form Data\n\n";
foreach my $p (param()) {
print MAIL "$p = ", param($p), "\n";
}
close(MAIL);
print <<EndHTML;
<h2>Thank You</h2>
<p>Thank you for writing!</p>
<p>Return to our <a href="index.html">home page</a>.</p>
EndHTML
print end_html;
很難說出問題所在。 我假設郵件在命令提示符下正常工作?
也就是說,您是否嘗試過MIME :: Lite?
use MIME::Lite;
my $body = <<EndHTML;
<h2>Thank You</h2>
<p>Thank you for writing!</p>
<p>Return to our <a href="index.html">home page</a>.</p>
EndHTML
my $msg = MIME::Lite->new(
Type => 'text/html',
From => 'nobody@cgi101.com',
To => 'myusername@gmail.com',
Subject => 'Form Data',
Data => $body
);
$msg->send;
無法在不知道自己遇到什么錯誤的情況下提供很多幫助。 但是現在是2014年,我們可能比直接與sendmail聊天發送電子郵件要好一些。
對於電子郵件處理,您可能應該在CPAN上的Email :: *名稱空間中查找。 特別是,建議使用Email :: Sender發送電子郵件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.