убирание выключенных адресатов из списка, v++

This commit is contained in:
2024-07-29 23:15:17 +03:00
parent 0fe33b21ee
commit 5057db453f
4 changed files with 26 additions and 16 deletions

View File

@@ -2,7 +2,10 @@ package Visual_DVM_2021.Passes.All;
import Repository.EmailMessage;
import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021;
import Repository.Subscribes.Subscriber;
import Visual_DVM_2021.Passes.Server.ComponentsRepositoryPass;
import java.util.Vector;
//http://java-online.ru/javax-mail.xhtml
//https://javarush.ru/groups/posts/1226-kak-otpravitjh-pisjhmo-iz-java-prilozhenija-s-primerom
public class Email extends ComponentsRepositoryPass<EmailMessage> {
@@ -18,11 +21,29 @@ public class Email extends ComponentsRepositoryPass<EmailMessage> {
}
@Override
protected void ServerAction() throws Exception {
Vector<String> targetsNames = new Vector<>();
for (String target: target.targets){
if (server.db.subscribers.containsKey(target)) {
Subscriber subscriber = server.db.subscribers.get(target);
if (subscriber.mailOn != 0) {
String[] data = target.split("@");
if (data.length > 0) {
String tname = data[0];
targetsNames.add(tname);
}
}
}
}
String text_ =
"Адресаты: "+String.join(", ",targetsNames)+"\n"+
target.text
;
//нужно разделить сообщение на несколько одинаковых, по числу адресатов.
for (String recipient : target.targets) {
EmailMessage part = new EmailMessage();
part.subject = target.subject;
part.text = target.text;
part.text = text_;
part.targets.add(recipient);
part.files.putAll(target.files);
Command(new ServerExchangeUnit_2021(ServerCode.Email, "", part));