2016-08-04 20 views
0

Ich habe versucht, eine E-Mail mit der Antwort von einer URL mit MIME :: Lite :: HTML zu senden. Aber es zeigtPerl-Fehler: Die Methode "replace" kann für einen nicht definierten Wert nicht aufgerufen werden MIME :: Lite :: HTML

Can't call method "replace" on an undefined value at /usr/local/share/perl/5.18.2/MIME/Lite/HTML.pm

Der Code ist wie dieser

#!/usr/bin/perl 
use MIME::Lite; 
use MIME::Lite::HTML; 
use strict; 

my $mailed_html = new MIME::Lite::HTML(To => "user\@sample.com", 
       From => "admin\@sample.com", 
       Subject => "Thank you mail"); # creates MIME::Lite::HTML object 
my $msg = $mailed_html->parse("http://sample.com/thankyou.html?id=19&mode=test"); 
$msg->send; 

Die Variable $mailed_html haben MIME :: Lite :: HTML-Objekt, bestätigt durch Data::Dumper mit Druck.

+5

Welche Zeilennummer steht in der Fehlermeldung? Welche Version von MIME :: Lite :: HTML verwenden Sie? [Dieser Fehler] (https://rt.cpan.org/Public/Bug/Display.html?id=41447) wurde in Version 1.24 behoben. –

+0

Der Fehler ist beim Aufrufen der 'Parse'-Methode. MIME :: Lite :: HTML-Version ist 1.24 – Sayooj

Antwort

0

Haben Sie die Antwort. Eigentlich gab es keinen Fehler mit dem Code. Die Anforderung zum Analysieren der Nachricht unter Verwendung von MIME::Lite::HTML hat den Server aufgrund eines DNS-Auflösungsproblems nicht erreicht. Wenn die Anfrage nicht erreicht werden kann, wird das Objekt ohne Daten zurückgegeben und die Ersatzfunktion kann nicht für leere Daten ausgeführt werden.

Vielen Dank für Ihre Antworten.