Ich versuche, Mail über PHP Pear Mail-Paket zu senden, habe ich 2 Szenarien hier, im ersten Szenario E-Mail richtig gesendet wird ohne Fehler, aber im zweiten Szenario bekomme ich Fehlermeldung.Fehler beim Senden von E-Mails mit PEAR-Mail-Paket
Szenario 1:
Dateiname: testmail.php
<?php
require_once "Mail.php";
$from = "[email protected]";
$to = "[email protected]";
$subject = "Landing Page Enquiry From -";
$body = "Hello just testing";
$host = "ssl://mail.askspidy.com";
$port = "465";
$username = "[email protected]";
$password = "[email protected]";
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject,
'MIME-Version' => 1,
'Content-type' => 'text/html;charset=iso-8859-1'
);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
?>
Wenn ich direkt Datei in url laufen dann Mail ohne Fehler gesendet.
Szenario 2: Dateiname: sendmail.php
<?php
function send_mail($subject,$body)
{
require_once "Mail.php";
$from = "[email protected]";
$to = "[email protected]";
$host = "ssl://mail.askspidy.com";
$port = "465";
$username = "[email protected]";
$password = "[email protected]";
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject,
'MIME-Version' => 1,
'Content-type' => 'text/html;charset=iso-8859-1'
);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
}
?>
Jetzt nenne ich diese send_mail Funktion aus verschiedenen Datei wie diese
File Name: Service/process.php
<?php
require_once("../sendmail.php");
$subject="Landing page enquiry";
$email_body="Hello Just Testing! ";
send_mail($subject,$email_body);
?>
Wenn diese Datei in dem Browser ausgeführt wird, erhalte ich Fehlermeldung auf der Leitung
send_mail($subject,$email_body);
Fehler:
Warning: include_once(Net/SMTP.php): failed to open stream: No such file or directory in /usr/local/lib/php/Mail/smtp.php on line 348
Warning: include_once(): Failed opening 'Net/SMTP.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /usr/local/lib/php/Mail/smtp.php on line 348
Fatal error: Class 'Net_SMTP' not found in /usr/local/lib/php/Mail/smtp.php on line 349
In Szenario 1 wird alles gut funktioniert, warum dann in Szenario 2 Ich erhalte Dieser Fehler, ich denke, es gibt ein Problem mit dem Pfad, aber ich bin mir nicht sicher, was sollte der Pfad sein und wo sollte ich das einschließen.
Ordnerstruktur:
Fügen Sie Code in der Datei E-Mail/smtp.php
require_once "Net/SMTP.php";
Anmerkung: Ich habe manuell PEAR-Paket in Cpanel Konto installiert und getan keine Einstellungen in der Datei php.ini
ich dies bereits versucht, dass funktioniert nicht – dollar
haben Sie alle Ihre require_once ändern. Und was ist die Fehlerinformation, wenn Sie zu diesem geändert haben? –
Ich habe diesen Pfad in "require_once" home/asepidy/public_html/Mail/Net/SMTP.php "; ' , bekomme ich dieselbe Fehlermeldung und für mein Szenario 1 bekomme ich auch Fehlermeldung wie ** Fataler Fehler: require_once(): Fehler beim Öffnen erforderlich 'home/aspidy/public_html/Mail/Net/SMTP.php' (include_path = '.:/opt/php55/lib/php/php) in/home/saniserv/public_html/Mail/smtp.php on line 358 ** – dollar