我對perl相當陌生,我怎樣才能讓主題行顯示在我的代碼下面的電子郵件中?現在它只發送出主題行的電子郵件。如何將主題行包含到perl電子郵件腳本中?
收件人收到一封電子郵件,具體取決於與其電子郵件帳戶相匹配的郵政編碼,如下面的代碼所示。
此外,當它發送一封包含該數據的電子郵件時,電子郵件@符號不能正確顯示。我怎樣才能解決這個問題?
感謝
#!/usr/bin/perl
print "Content-type: text/html\n\n";
%form=&parse_form();
$other_email=&lookup($form{'zipcode'});
$subject = 'Test Email';
$body=
"Customer Name: $form{'name'}\n".
"Customer Phone: $form{'phone'}\n".
"Customer Email: $form{'email'}\n".
"Customer Zip: $form{'zipcode'}\n";
mailsend('[email protected]',$body) and print "<b>Thank You!</b><br>\n";
mailsend($form{'email'},$body) and print "<b>Your email has been sent.</b><br>\n";
mailsend($other_email,$body) and print "<b>Please hit back to exit this page.</b><br>\n";
#helper functions
sub lookup {
$contents=`cat postcodes.txt`;
($result)=$contents=~m/\b$_[0]=(.*)\b/;
print "<b>Corresponding email address for zip $_[0] was [$result]</b><br>\n";
return $result;
}
sub mailsubject {
$subject = 'Test Email';
}
sub mailsend {
open(MAIL, "|/usr/sbin/sendmail -t");
print MAIL "To: $_[0]\n\n";
print MAIL "See email below!\n\n";
print MAIL "$_[1]\n";
print MAIL "Thank you\n";
close(MAIL);
return true;
}
sub parse_form {
($hash{'name'}) = $ENV{'QUERY_STRING'}=~/name=(.*?)&/;
($hash{'phone'}) = $ENV{'QUERY_STRING'}=~/phone=(.*?)&/;
($hash{'email'}) = $ENV{'QUERY_STRING'}=~/email=(.*?)&/;
($hash{'zipcode'}) = $ENV{'QUERY_STRING'}=~/zipcode=(.*?)&/;
return %hash;
}
您的編輯刪除了您之前的問題,並詢問完全不同的問題,使您的問題的所有早期答案變得毫無意義。如果您想要詢問後續問題或新問題,請在此網站上創建一個新問題。 – mob
@符號在電子郵件中顯示爲「%40」。任何想法如何解決? –
如果您使用了CGI.pm中的參數解析功能,那麼將會爲您處理'%40'轉換。 –