Abills сохранение всех файлов отправляемых биллингом на email

abills

Возникла необходимость сохранять инвойсы PERIODIC_INVOICE, которые выставляются с помощью multi_docs.pl в файлы, решил сделать таким макаром, сохранять абсолютно все вложения отправляемые билингом, для этого:

vim /usr/abills/Abills/Base.pm

в функцию sendmail

sub sendmail {

после 373 строки добавляем следующий код:

open(my $fh, '>', '/tmp/'.$attachment->{FILENAME});
print $fh $attachment->{CONTENT};
close $fh;

т.е. в код обработки вложений, просто добавили их сохранение, вот что вышло

    foreach my $attachment (@{ $attr->{ATTACHMENTS} }) {
open(my $fh, '>', '/tmp/'.$attachment->{FILENAME});
print $fh $attachment->{CONTENT};
close $fh;
      my $data = encode_base64($attachment->{CONTENT});
      $message .= qq{
--$boundary
Content-Type: $attachment->{CONTENT_TYPE};\n name="$attachment->{FILENAME}"
Content-transfer-encoding: base64
Content-Disposition: attachment;\n filename="$attachment->{FILENAME}"
$data}

возможно есть решение поизящнее, но пока что мне и этого хватает, времени ковыряться в кишках билинга нет 🙂

Поделись с друзьями:

Опубликовано 07.07.2015 в 16:33 · Автор komivlad · Ссылка
Рубрики: Debain, Ubuntu · Теги: , , , , ,

Написать комментарий