Написал отчет для отправки уведомлений на эелектронку
при не правильно заполненом адресе (это не единственная проблема) в лог вылетает такая ошибка
Код:
05-26/09:05:35 ERROR ["http-bio-/0.0.0.0-8443"-exec-6] LoggingPrintStream - javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
com.sun.mail.smtp.SMTPAddressFailedException: 550 restricted characters in address
как мне ее поймать и вывести в отчет, конструкция вида
Код:
import java.sql.*;
import java.util.*;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Vector;
import ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.sql.ConnectionSet;
import java.util.Date;
import bitel.billing.server.contract.bean.*;
import bitel.billing.common.TimeUtils;
import bitel.billing.server.contract.bean.ContractEmailParamValue;
import bitel.billing.server.contract.bean.ContractParameterManager;
import bitel.billing.server.util.MailMsg;
public void fillReport( con, filter, bitel.billing.server.reports.BGCSVReport.ReportResult result )
{
ContractManager cm = new ContractManager (con);
int gr = filter.getIntParam("gr");
int contracts = filter.getIntParam("contracts");
System.out.println("contracts " + contracts);
StringBuilder emailS = new StringBuilder();
String subject = filter.getStringParam("subject");
String messages = filter.getStringParam("messages");
String signature = filter.getStringParam("signature");
ContractParameterManager cpm = new ContractParameterManager(con);
Setup setup = Setup.getSetup();
data = new ArrayList( 1000 );
map = new HashMap();
if(contracts != null )
{
PreparedStatement ps = con.prepareStatement( "SELECT id FROM contract where id in (" + contracts + ")" );
ResultSet rs = ps.executeQuery();
try
{
while ( rs.next() )
{
int cid = rs.getInt( 1 );
ContractEmailParamValue email = cpm.getEmailParam(cid,3);
if (email != null) {
for (String mailstring : email.getEmailVector())
{
String mail = mailstring.replaceAll("(^.*<)|(>.*$)","");
emailS.append( mail + " " );
Contract c = cm.getContractById(contracts);
map.put("title",c.getTitle());
map.put("mail",mail);
data.add( map );
}
}
}
rs.close();
ps.close();
MailMsg msg = new MailMsg( setup );
//Отправка сообщений
msg.sendMessage(emailS.toString(), subject, messages + "\n\n" + signature);
}catch (Exception e) {
"ERRRRRRRRRRRRRROR" + e.printStackTrace();
map.put("e",e.printStackTrace());
}
result.setData( data );
System.out.println(emailS.toString()+ " " + subject+ " " + messages);
}
}
Не отрабатывает
_________________
Код:
Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegramСтиль программирования - пьяный мастерстер
Разработка мобильных приложений