Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fatal error: Declaration of PhpPec\PecMessage::getTestiOriginali() must be compatible with PhpPec\PecMessageInterface::getTestiOriginali($inHtml = false) in C:\Program Files\NetMake\v9-php81\wwwroot\PEC\PhpPec\PecMessage.php on line 152 #8

Open
SandroL-als opened this issue Jul 13, 2024 · 2 comments

Comments

@SandroL-als
Copy link

SandroL-als commented Jul 13, 2024

Ciao, ho provato a far funzionare la classe ma ricevo l'errore nel titolo, sicuramente sbaglio qualcosa, non ho mai usato Fetch, sino ad ora per "leggere" la posta ho usato IMAP ma per la PEC non sono riuscito a scaricare gli allegati originali.
il codice:
`require_once("vendor/autoload.php");
use Fetch\Server;
use Fetch\Message;

require_once("PhpPec/PecMessageInterface.php");
require_once("PhpPec/PecServer.php");
require_once("PhpPec/PecMessage.php");

use PhpPec\PecMessageInterface;
use PhpPec\PecMessage;
use PhpPec\PecServer;

//$server = new Server('imaps.pec.aruba.it', 993);
$server = new PecServer('imaps.pec.aruba.it', 993);
$server->setAuthentication('[email protected]', 'password');

$messages = $server->getMessages();

foreach ($messages as $message) {
echo "Subject: {$message->getSubject()}", PHP_EOL;

$allegati = $message->getAllegati();
foreach($allegati as $allegato) {
    echo "Nome file: ".$allegato->getFileName()."\n";
    echo "Dimensione: ".$allegato->getSize()."\n";
    echo "MIME: ".$allegato->getMimeType()."\n";
    file_put_contents($allegato->getFileName(), $allegato->getData());

}

}
`

image

un'ultima domanda posso parzializzare la lettura usando UID?
Grazie in anticipo.

@lucasaba
Copy link
Owner

Ciao e grazie mille per la segnalazione.

Purtroppo il progetto è un po vecchio e non lo seguo più molto. La mia ipotesi è che quando l'ho scritto ho utilizzato una versione di PHP meno...pignola. Effettivamente la firma dei metodi è differente. Probabilmente è sufficiente modificare https://github.com/lucasaba/php-pec/blob/master/src/PhpPec/PecMessage.php#L152 così:

function getTestiOriginali($inHtml = false)

Se fosse solo quello, potresti fare una PR su questo repository, così aggiorno il codice con la tua fix?

@SandroL-als
Copy link
Author

SandroL-als commented Jul 16, 2024

Ciao Luca, dopo la modifica funziona!!
Mi rimane un problema posso far partire la lettura da una determinata data con IMAP (imap_search($inbox, 'SINCE "'.date("d F Y'"); o da uno specifico UID?
Grazie in anticipo Sandro.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants