EMSI Continue sending mail until no more mail to send
This commit is contained in:
parent
e78b5975b0
commit
09fe65a8db
@ -226,15 +226,19 @@ final class Send extends Item
|
|||||||
* Add our mail to the send queue
|
* Add our mail to the send queue
|
||||||
*
|
*
|
||||||
* @param Address $ao
|
* @param Address $ao
|
||||||
|
* @return bool
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
* @todo We need to make this into a transaction, incase the transfer fails.
|
* @todo We need to make this into a transaction, incase the transfer fails.
|
||||||
*/
|
*/
|
||||||
public function mail(Address $ao): void
|
public function mail(Address $ao): bool
|
||||||
{
|
{
|
||||||
|
$mail = FALSE;
|
||||||
|
|
||||||
// If the node is marked as hold - dont send any mail.
|
// If the node is marked as hold - dont send any mail.
|
||||||
if ($ao->system->hold) {
|
if ($ao->system->hold) {
|
||||||
Log::info(sprintf('%s: - System [%d] mail is marked as hold - not checking for mail.',self::LOGKEY,$ao->system_id));
|
Log::info(sprintf('%s: - System [%d] mail is marked as hold - not checking for mail.',self::LOGKEY,$ao->system_id));
|
||||||
return;
|
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Netmail
|
// Netmail
|
||||||
@ -242,6 +246,7 @@ final class Send extends Item
|
|||||||
Log::debug(sprintf('%s: - Netmail(s) added for sending to [%s]',self::LOGKEY,$ao->ftn));
|
Log::debug(sprintf('%s: - Netmail(s) added for sending to [%s]',self::LOGKEY,$ao->ftn));
|
||||||
|
|
||||||
$this->packets->push(new Mail($x,self::I_SEND));
|
$this->packets->push(new Mail($x,self::I_SEND));
|
||||||
|
$mail = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Echomail
|
// Echomail
|
||||||
@ -249,7 +254,10 @@ final class Send extends Item
|
|||||||
Log::debug(sprintf('%s: - Echomail(s) added for sending to [%s]',self::LOGKEY,$ao->ftn));
|
Log::debug(sprintf('%s: - Echomail(s) added for sending to [%s]',self::LOGKEY,$ao->ftn));
|
||||||
|
|
||||||
$this->packets->push(new Mail($x,self::I_SEND));
|
$this->packets->push(new Mail($x,self::I_SEND));
|
||||||
|
$mail = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $mail;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1177,14 +1177,14 @@ final class EMSI extends BaseProtocol implements CRCInterface,ZmodemInterface
|
|||||||
// Add our mail to the queue if we have authenticated
|
// Add our mail to the queue if we have authenticated
|
||||||
if ($this->node->aka_authed)
|
if ($this->node->aka_authed)
|
||||||
foreach ($this->node->aka_remote_authed as $ao) {
|
foreach ($this->node->aka_remote_authed as $ao) {
|
||||||
$this->send->mail($ao);
|
while ($this->send->mail($ao)) {
|
||||||
|
$z = new Zmodem;
|
||||||
|
|
||||||
|
if (! $z->zmodem_sendinit($this->client,$zap) && $this->send->total_count)
|
||||||
|
$z->zmodem_sendfile($this->send);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$z = new Zmodem;
|
|
||||||
|
|
||||||
if (! $z->zmodem_sendinit($this->client,$zap) && $this->send->total_count)
|
|
||||||
$z->zmodem_sendfile($this->send);
|
|
||||||
|
|
||||||
Log::debug(sprintf('%s:- Finished sending',self::LOGKEY));
|
Log::debug(sprintf('%s:- Finished sending',self::LOGKEY));
|
||||||
return ($z->zmodem_senddone()<0);
|
return ($z->zmodem_senddone()<0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user