In current version when we add contributor for a submission the ‘email’ is required . I had fixed this to optional by edit ‘\lib\pkp\classes\components\forms\publication\ContributorForm.php’ and change table in databases and so on. Now this is all fine ,but when submited will get error.So i should recode ‘SendSubmissionAcknowledgement.php’ handle method to ’
/* $submitterEmails = $submitterUsers->map(fn (User $user) => $user->getEmail());
$otherAuthors = $event->submission
->getCurrentPublication()
->getData('authors')
->filter(fn (Author $author) => !$submitterEmails->contains($author->getEmail()));
if ($otherAuthors->count()) {
$emailTemplate = Repo::emailTemplate()->getByKey(
$event->context->getId(),
SubmissionAcknowledgementOtherAuthors::getEmailTemplateKey()
);
$mailable = new SubmissionAcknowledgementOtherAuthors($event->context, $event->submission, $submitterUsers);
$mailable
->from($event->context->getData('contactEmail'), $event->context->getData('contactName'))
->recipients($otherAuthors->toArray())
->subject($emailTemplate->getLocalizedData('subject'))
->body($emailTemplate->getLocalizedData('body'));
Mail::send($mailable);
/** @var SubmissionEmailLogDAO $logDao */
/* $logDao = DAORegistry::getDAO('SubmissionEmailLogDAO');
$logDao->logMailable(
SubmissionEmailLogEntry::SUBMISSION_EMAIL_AUTHOR_SUBMISSION_ACK,
$mailable,
$event->submission
);
}*/'
to forbiden to send email to contributor’s.If use OJS 3.4.0.4 all person will get a email ,after 3.4.0.5 there have a ‘if’ to judge hao to send email but it do not justified.The best way is that checked if this user had configed email then make decision