В настоящее время я использую Cpanel для настройки пересылки электронной почты, которая проходит через функцию пересылки электронной почты CPanel «Pipe to Program». В этом сценарии perl я беру заголовки и заменяю их адресом электронной почты Epson для печати, поскольку принтеры Epson не любят прямую пересылку. Однако у меня возникла проблема, когда отправка сразу нескольким пользователям вызывает ошибки, и ей не нравится более одного получателя.
Мой код ниже:
#!/usr/bin/perl
use strict;
# Real email address for the printer
my $email = 'example@domain.com';
my $sm;
open($sm, "|/usr/sbin/sendmail -t");
my $in_header = 1;
while (my $line = <STDIN>) {
chomp $line;
# Empty line while in headers means end of headers
if ($in_header && $line eq '') {
$in_header = 0;
}
# Replace To: field if we're in headers
if ($in_header && $line =~ m/^To: /) {
$line = "To: $email";
}
# Pass through to sendmail
print $sm "$line\n";
}
close($sm);
У меня такое чувство root моих проблем происходит из этой строки в моем коде:
# Replace To: field if we're in headers
if ($in_header && $line =~ m/^To: /) {
$line = "To: $email";
}
Я должен кое-что признать, я нашел этот фрагмент кода в Интернете, и я совершенно не знаком с Perl, чтобы найти жизнеспособное решение, позволяющее без проблем пересылать несколько писем. Было бы очень полезно указать, с чего начать, даже если полное решение неясно.
Ресурсы:
https://www.cravingtech.com/how-to-setup-epson-email-print-using-your-own-domain-name.html