no message
This commit is contained in:
52
src/_VisualDVM/Passes/All/Email.java
Normal file
52
src/_VisualDVM/Passes/All/Email.java
Normal file
@@ -0,0 +1,52 @@
|
||||
package _VisualDVM.Passes.All;
|
||||
import _VisualDVM.Repository.EmailMessage;
|
||||
import _VisualDVM.Repository.Server.ServerCode;
|
||||
import _VisualDVM.Repository.Server.ServerExchangeUnit_2021;
|
||||
import _VisualDVM.Repository.Subscribes.Subscriber;
|
||||
import _VisualDVM.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> {
|
||||
//этот емейл только для клиента. все что он делает отправляет на сервер то. что нужно отправить.
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
target = (EmailMessage) args[0];
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
protected int getTimeout() {
|
||||
return 0;
|
||||
}
|
||||
@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 = text_;
|
||||
part.targets.add(recipient);
|
||||
part.files.putAll(target.files);
|
||||
Command(new ServerExchangeUnit_2021(ServerCode.Email, "", part));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user