Здравствуйте, Почтовый сервис mail.ru предоставляет возможность создания дополнительных адресов почты на одном аккаунте.
Есть маил_1 - основной и маил_2 дополнительный адрес.
На маил_2 поступило сообщение, если отправить ответ через веб интерфейс, то отправитель будет маил_2, если отправляю скриптом perl то отравитель маил_1.
как сделать чтобы отправитель был маил_2 ?
Ниже функции в которых есть From
# Логин и пароль почты
$email_login = 'MAIL_1@mail.ru';
$email_password = 'd123';
$MAIL_2 = 'MAIL_2@mail.ru';
# -----------------------------------------------------------------------------------
sub get_inbox_emails {
$ping->ping($email_server) or die "Ошибка: Сервер ${email_server} не доступен.\n";
@mails = ($client->seen, $client->unseen);
my %check_exst;
for my $msg_id (@mails) {
$body = $client->message_string($msg_id) or die;
$parser = MIME::Parser->new() or die;
$parser->output_to_core(1);
$entity = $parser->parse_data(\$body) or die "parse failed\n";
$header = $entity->head;
$from = $header->get('Reply-To');
$from = $header->get('From') unless ($from);
chomp $from;
if ($from =~ /([\w\.]*\w+@[\w+\.]+[A-Za-z]+)/) {
unless (defined $check_exst{$1}) {
push @emails_list, $1;
$check_exst{$1} = '';
}
} else {
print "Ошибка определения адреса отправителя в сообщении ${msg_id}.\n";
}
}
}
# -----------------------------------------------------------------------------------
sub send_email {
undef $smtp;
my $msg_data = "From: ${email_login}\nTo: ${to_mail}\nSubject: ${mail_send_text_subject}\nContent-Type: text/html; charset=\"UTF-8\"\n\n${mail_send_text}\n";
$smtp = Net::SMTP->new(
$email_send_server,
Port => $email_send_port,
SSL => 1,
Timeout => 10,
Debug => $send_debug_flag
) or return 0;
$smtp->auth($email_login, $email_password) or return 0;
$smtp->mail("${email_login}\n") or return 0;
$smtp->to("${to_mail}\n") or return 0;
$smtp->data() or return 0;
$smtp->datasend("$msg_data") or return 0;
$smtp->dataend() or return 0;
$smtp->quit;
return 1;
}