Library for processing bank confirmation emails. Right now only support of Tatrabanka two emails formats.
Install package via composer:
$ composer require tomaj/bank-mails-parser
Basic usage in php:
use Tomaj\BankMailsParser\Parser\TatraBankaMailParser;
$tatraBankaMailParser = new TatraBankaMailParser();
$mailContent = $tatraBankaMailParser->parse('mail content');
echo $mailContent->getKs() . "\n";
echo $mailContent->getSs() . "\n";
echo $mailContent->getVs() . "\n";
echo $mailContent->getReceiverMessage() . "\n";
echo $mailContent->getCurrency() . "\n";
echo $mailContent->getTransactionDate() . "\n";
echo $mailContent->getAccountNumber() . "\n";
echo $mailContent->getAmount() . "\n";
echo $mailContent->getAccountNumber() . "\n";
With TatraBankaSimpleMailParser you can parse comforpay emails. There are other getters like CID for reccurent payments.
echo $mailContent->getCid() . "\n";
echo $mailContent->getSign() . "\n";
echo $mailContent->getRes() . "\n";
There is one breaking change in version 2.0 - parser returns MailContent always when email is parsed. In version 1.0 - parser returns MailContent only when response from bank was OK. In version 2 you can read also FAIL emails.
Example how to use with imap mail downloader:
use Tomaj\ImapMailDownloader\Downloader;
use Tomaj\ImapMailDownloader\MailCriteria;
use Tomaj\ImapMailDownloader\Email;
use Tomaj\BankMailsParser\Parser\TatraBankaMailParser;
$downloader = new Downloader('*imap host*', *port*, '*username*', '*password*');
$criteria = new MailCriteria();
$criteria->setFrom('some@email.com');
$downloader->fetch($criteria, function(Email $email) {
$tatraBankaMailParser = new TatraBankaMailParser();
$mailContent = $tatraBankaMailParser->parse($email->getBody());
// process $mailContent data...
return true;
});
Note: You have to include package imap-email-downloader: composer require tomaj/bank-mails-parser
Add parses for other banks confirmation emails. Feel free to fork and create pull requests with other banks parsers.