Java 类javax.mail.SendFailedException 实例源码
项目:zesped
文件:MailSessionHandler.java
public void sendMessage (Message oMsg,
Address[] aAdrFrom, Address[] aAdrReply,
Address[] aAdrTo, Address[] aAdrCc, Address[] aAdrBcc)
throws NoSuchProviderException,SendFailedException,ParseException,
MessagingException,NullPointerException {
oMsg.addFrom(aAdrFrom);
if (null==aAdrReply)
oMsg.setReplyTo(aAdrReply);
else
oMsg.setReplyTo(aAdrFrom);
if (aAdrTo!=null) oMsg.addRecipients(javax.mail.Message.RecipientType.TO, aAdrTo);
if (aAdrCc!=null) oMsg.addRecipients(javax.mail.Message.RecipientType.CC, aAdrCc);
if (aAdrBcc!=null) oMsg.addRecipients(javax.mail.Message.RecipientType.BCC, aAdrBcc);
oMsg.setSentDate(new java.util.Date());
Transport.send(oMsg);
}
项目:hopsworks
文件:EmailBean.java
@Asynchronous
public void sendEmail(String to, Message.RecipientType recipientType,
String subject, String body) throws
MessagingException, SendFailedException {
MimeMessage message = new MimeMessage(mailSession);
message.setFrom(new InternetAddress(mailSession.getProperty("mail.from")));
InternetAddress[] address = {new InternetAddress(to)};
message.setRecipients(recipientType, address);
message.setSubject(subject);
message.setContent(body, "text/html");
// set the timestamp
message.setSentDate(new Date());
message.setText(body);
try {
Transport.send(message);
} catch (MessagingException ex) {
LOG.log(Level.SEVERE, ex.getMessage(), ex);
}
}
项目:tn5250j
文件:SendEMail.java
/**
* Show the error list from the e-mail API if there are errors
*
* @param parent
* @param sfe
*/
private void showFailedException(SendFailedException sfe) {
String error = sfe.getMessage() + "\n";
Address[] ia = sfe.getInvalidAddresses();
if (ia != null) {
for (int x = 0; x < ia.length; x++) {
error += "Invalid Address: " + ia[x].toString() + "\n";
}
}
JTextArea ea = new JTextArea(error,6,50);
JScrollPane errorScrollPane = new JScrollPane(ea);
errorScrollPane.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
errorScrollPane.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
JOptionPane.showMessageDialog(null,
errorScrollPane,
LangTool.getString("em.titleConfirmation"),
JOptionPane.ERROR_MESSAGE);
}
项目:LAS
文件:ProductServerRunner.java
private String handleMessagingException(Exception e) {
StringBuffer exmess = new StringBuffer();
do {
if (e instanceof SendFailedException) {
SendFailedException sfex = (SendFailedException)e;
Address[] invalid = sfex.getInvalidAddresses();
if (invalid != null) {
exmess.append("\n ** Invalid Addresses");
if (invalid != null) {
for (int i = 0; i < invalid.length; i++)
exmess.append(" " + invalid[i]);
}
}
Address[] validUnsent = sfex.getValidUnsentAddresses();
if (validUnsent != null) {
exmess.append("\n ** ValidUnsent Addresses");
if (validUnsent != null) {
for (int i = 0; i < validUnsent.length; i++)
exmess.append(" "+validUnsent[i]);
}
}
Address[] validSent = sfex.getValidSentAddresses();
if (validSent != null) {
exmess.append("\n ** ValidSent Addresses");
if (validSent != null) {
for (int i = 0; i < validSent.length; i++)
exmess.append(" "+validSent[i]);
}
}
}
if (e instanceof MessagingException)
e = ((MessagingException)e).getNextException();
else
e = null;
} while (e != null);
return exmess.toString();
}
项目:hopsworks
文件:EmailBean.java
@Asynchronous
public void sendEmails(String listAddrs, String subject, String body) throws MessagingException, SendFailedException {
List<String> addrs = Arrays.asList(listAddrs.split("\\s*,\\s*"));
boolean first = false;
MimeMessage message = new MimeMessage(mailSession);
message.setFrom(new InternetAddress(mailSession.getProperty("mail.from")));
message.setSubject(subject);
message.setContent(body, "text/html");
message.setSentDate(new Date());
message.setText(body);
for (String addr : addrs) {
InternetAddress[] address = {new InternetAddress(addr)};
if (first) {
message.setRecipients(Message.RecipientType.TO, address);
first = false;
} else {
message.setRecipients(Message.RecipientType.CC, address);
}
}
try {
Transport.send(message);
} catch (MessagingException ex) {
LOG.log(Level.SEVERE, ex.getMessage(), ex);
}
}
项目:olat
文件:ExceptionHandlingMailSendingTemplate.java
/**
* handles the sendFailedException
* <p>
* creates a MessageSendStatus which contains a translateable info or error message, and the knowledge if the user can proceed with its action.
*
* @param e
* @throws OLATRuntimeException return MessageSendStatus
*/
private MessageSendStatus handleSendFailedException(final SendFailedException e) {
// get wrapped excpetion
MessageSendStatus messageSendStatus = null;
final MessagingException me = (MessagingException) e.getNextException();
if (me instanceof AuthenticationFailedException) {
messageSendStatus = createAuthenticationFailedMessageSendStatus();
return messageSendStatus;
}
final String message = me.getMessage();
if (message.startsWith("553")) {
messageSendStatus = createInvalidDomainMessageSendStatus();
} else if (message.startsWith("Invalid Addresses")) {
messageSendStatus = createInvalidAddressesMessageSendStatus(e.getInvalidAddresses());
} else if (message.startsWith("503 5.0.0")) {
messageSendStatus = createNoRecipientMessageSendStatus();
} else if (message.startsWith("Unknown SMTP host")) {
messageSendStatus = createUnknownSMTPHost();
} else if (message.startsWith("Could not connect to SMTP host")) {
messageSendStatus = createCouldNotConnectToSmtpHostMessageSendStatus();
} else {
List<ContactList> emailToContactLists = getTheToContactLists();
String exceptionMessage = "";
for (ContactList contactList : emailToContactLists) {
exceptionMessage += contactList.toString();
}
throw new OLATRuntimeException(ContactUIModel.class, exceptionMessage, me);
}
return messageSendStatus;
}
项目:olat
文件:Emailer.java
private boolean sendEmail(String from, String mailto, String subject, String body) throws AddressException, SendFailedException, MessagingException {
if (webappAndMailHelper.isEmailFunctionalityDisabled()) return false;
InternetAddress mailFromAddress = new InternetAddress(from);
InternetAddress mailToAddress[] = InternetAddress.parse(mailto);
MailerResult result = new MailerResult();
MimeMessage msg = webappAndMailHelper.createMessage(mailFromAddress, mailToAddress, null, null, body + footer, subject, null, result);
webappAndMailHelper.send(msg, result);
//TODO:discuss why is the MailerResult not used here?
return true;
}
项目:olat
文件:ExceptionHandlingMailSendingTemplateTest.java
@Test
public void testSendWithoutException() {
//setup
ExceptionHandlingMailSendingTemplate doSendWithoutException = new ExceptionHandlingMailSendingTemplate() {
@Override
protected boolean doSend(Emailer emailer) throws AddressException, SendFailedException, MessagingException {
assertNotNull("emailer was constructed", emailer);
return true;
}
@Override
protected MailTemplate getMailTemplate() {
return emptyMailTemplate;
};
@Override
protected List<ContactList> getTheToContactLists() {
return theContactLists;
}
@Override
protected Identity getFromIdentity() {
return theFromIdentity;
}
};
//exercise
MessageSendStatus sendStatus = doSendWithoutException.send();
//verify
assertEquals(MessageSendStatusCode.SUCCESSFULL_SENT_EMAILS, sendStatus.getStatusCode());
assertTrue(sendStatus.getStatusCode().isSuccessfullSentMails());
assertFalse(sendStatus.isSeverityError());
assertFalse(sendStatus.isSeverityWarn());
assertTrue(sendStatus.canProceedWithWorkflow());
}
项目:olat
文件:ExceptionHandlingMailSendingTemplateTest.java
@Test
public void shouldFailWithAddressExcpetion(){
//setup
ExceptionHandlingMailSendingTemplate doSendWithAddressException = new ExceptionHandlingMailSendingTemplate() {
@Override
protected boolean doSend(Emailer emailer) throws AddressException, SendFailedException, MessagingException {
assertNotNull("emailer was constructed", emailer);
throw new AddressException();
}
@Override
protected MailTemplate getMailTemplate() {
return emptyMailTemplate;
};
@Override
protected List<ContactList> getTheToContactLists() {
return theContactLists;
}
@Override
protected Identity getFromIdentity() {
return theFromIdentity;
}
};
//exercise
MessageSendStatus sendStatus = doSendWithAddressException.send();
//verify
assertEquals(MessageSendStatusCode.SENDER_OR_RECIPIENTS_NOK_553, sendStatus.getStatusCode());
verifyStatusCodeIndicateAddressExceptionOnly(sendStatus);
verifySendStatusIsWarn(sendStatus);
assertFalse(sendStatus.canProceedWithWorkflow());
}
项目:olat
文件:ExceptionHandlingMailSendingTemplateTest.java
@Test
public void shouldFailWithSendFailedExceptionWithDomainErrorCode553(){
//setup
ExceptionHandlingMailSendingTemplate doSendWithSendFailedException = new ExceptionHandlingMailSendingTemplate() {
@Override
protected boolean doSend(Emailer emailer) throws AddressException, SendFailedException, MessagingException {
assertNotNull("emailer was constructed", emailer);
MessagingException firstInnerException = new SendFailedException("553 some domain error message from the mailsystem");
throw new SendFailedException(BY_OLAT_UNHANDLED_TEXT, firstInnerException);
}
@Override
protected MailTemplate getMailTemplate() {
return emptyMailTemplate;
};
@Override
protected List<ContactList> getTheToContactLists() {
return theContactLists;
}
@Override
protected Identity getFromIdentity() {
return theFromIdentity;
}
};
//exercise
MessageSendStatus sendStatus = doSendWithSendFailedException.send();
//verify
assertEquals(MessageSendStatusCode.SEND_FAILED_DUE_INVALID_DOMAIN_NAME_553, sendStatus.getStatusCode());
verifyStatusCodeIndicateSendFailedOnly(sendStatus);
verifySendStatusIsError(sendStatus);
assertFalse(sendStatus.canProceedWithWorkflow());
}
项目:olat
文件:ExceptionHandlingMailSendingTemplateTest.java
@Test
public void shouldFailWithSendFailedExceptionWithInvalidAddresses(){
//setup
ExceptionHandlingMailSendingTemplate doSendWithSendFailedException = new ExceptionHandlingMailSendingTemplate() {
@Override
protected boolean doSend(Emailer emailer) throws AddressException, SendFailedException, MessagingException {
assertNotNull("emailer was constructed", emailer);
MessagingException firstInnerException = new SendFailedException("Invalid Addresses <followed by a list of invalid addresses>");
throw new SendFailedException(BY_OLAT_UNHANDLED_TEXT, firstInnerException);
}
@Override
protected MailTemplate getMailTemplate() {
return emptyMailTemplate;
};
@Override
protected List<ContactList> getTheToContactLists() {
return theContactLists;
}
@Override
protected Identity getFromIdentity() {
return theFromIdentity;
}
};
//exercise
MessageSendStatus sendStatus = doSendWithSendFailedException.send();
//verify
assertEquals(MessageSendStatusCode.SEND_FAILED_DUE_INVALID_ADDRESSES_550, sendStatus.getStatusCode());
verifyStatusCodeIndicateSendFailedOnly(sendStatus);
verifySendStatusIsError(sendStatus);
assertFalse(sendStatus.canProceedWithWorkflow());
}
项目:olat
文件:ExceptionHandlingMailSendingTemplateTest.java
@Test
public void shouldFailWithSendFailedExceptionBecauseNoRecipient(){
//setup
ExceptionHandlingMailSendingTemplate doSendWithSendFailedException = new ExceptionHandlingMailSendingTemplate() {
@Override
protected boolean doSend(Emailer emailer) throws AddressException, SendFailedException, MessagingException {
assertNotNull("emailer was constructed", emailer);
MessagingException firstInnerException = new SendFailedException("503 5.0.0 .... ");
throw new SendFailedException(BY_OLAT_UNHANDLED_TEXT, firstInnerException);
}
@Override
protected MailTemplate getMailTemplate() {
return emptyMailTemplate;
};
@Override
protected List<ContactList> getTheToContactLists() {
return theContactLists;
}
@Override
protected Identity getFromIdentity() {
return theFromIdentity;
}
};
//exercise
MessageSendStatus sendStatus = doSendWithSendFailedException.send();
//verify
assertEquals(MessageSendStatusCode.SEND_FAILED_DUE_NO_RECIPIENTS_503, sendStatus.getStatusCode());
verifyStatusCodeIndicateSendFailedOnly(sendStatus);
verifySendStatusIsError(sendStatus);
assertFalse(sendStatus.canProceedWithWorkflow());
}
项目:olat
文件:ExceptionHandlingMailSendingTemplateTest.java
@Test
public void shouldFailWithSendFailedExceptionBecauseUnknownSMTPHost(){
//setup
ExceptionHandlingMailSendingTemplate doSendWithSendFailedException = new ExceptionHandlingMailSendingTemplate() {
@Override
protected boolean doSend(Emailer emailer) throws AddressException, SendFailedException, MessagingException {
assertNotNull("emailer was constructed", emailer);
MessagingException firstInnerException = new SendFailedException("Unknown SMTP host");
throw new SendFailedException(BY_OLAT_UNHANDLED_TEXT, firstInnerException);
}
@Override
protected MailTemplate getMailTemplate() {
return emptyMailTemplate;
};
@Override
protected List<ContactList> getTheToContactLists() {
return theContactLists;
}
@Override
protected Identity getFromIdentity() {
return theFromIdentity;
}
};
//exercise
MessageSendStatus sendStatus = doSendWithSendFailedException.send();
//verify
assertEquals(MessageSendStatusCode.SEND_FAILED_DUE_UNKNOWN_SMTP_HOST, sendStatus.getStatusCode());
verifyStatusCodeIndicateSendFailedOnly(sendStatus);
verifySendStatusIsError(sendStatus);
assertTrue(sendStatus.canProceedWithWorkflow());
}
项目:olat
文件:ExceptionHandlingMailSendingTemplateTest.java
@Test
public void shouldFailWithSendFailedExceptionBecauseCouldNotConnectToSMTPHost(){
//setup
ExceptionHandlingMailSendingTemplate doSendWithSendFailedException = new ExceptionHandlingMailSendingTemplate() {
@Override
protected boolean doSend(Emailer emailer) throws AddressException, SendFailedException, MessagingException {
assertNotNull("emailer was constructed", emailer);
MessagingException firstInnerException = new SendFailedException("Could not connect to SMTP host");
throw new SendFailedException(BY_OLAT_UNHANDLED_TEXT, firstInnerException);
}
@Override
protected MailTemplate getMailTemplate() {
return emptyMailTemplate;
};
@Override
protected List<ContactList> getTheToContactLists() {
return theContactLists;
}
@Override
protected Identity getFromIdentity() {
return theFromIdentity;
}
};
//exercise
MessageSendStatus sendStatus = doSendWithSendFailedException.send();
//verify
assertEquals(MessageSendStatusCode.SEND_FAILED_DUE_COULD_NOT_CONNECT_TO_SMTP_HOST, sendStatus.getStatusCode());
verifyStatusCodeIndicateSendFailedOnly(sendStatus);
verifySendStatusIsError(sendStatus);
assertTrue(sendStatus.canProceedWithWorkflow());
}
项目:olat
文件:ExceptionHandlingMailSendingTemplateTest.java
@Test
public void shouldFailWithSendFailedExceptionWithAnAuthenticationFailedException(){
//setup
ExceptionHandlingMailSendingTemplate doSendWithSendFailedException = new ExceptionHandlingMailSendingTemplate() {
@Override
protected boolean doSend(Emailer emailer) throws AddressException, SendFailedException, MessagingException {
assertNotNull("emailer was constructed", emailer);
MessagingException firstInnerException = new AuthenticationFailedException("<some authentication failed message from the mailsystem>");
throw new SendFailedException(BY_OLAT_UNHANDLED_TEXT, firstInnerException);
}
@Override
protected MailTemplate getMailTemplate() {
return emptyMailTemplate;
};
@Override
protected List<ContactList> getTheToContactLists() {
return theContactLists;
}
@Override
protected Identity getFromIdentity() {
return theFromIdentity;
}
};
//exercise
MessageSendStatus sendStatus = doSendWithSendFailedException.send();
//verify
assertEquals(MessageSendStatusCode.SMTP_AUTHENTICATION_FAILED, sendStatus.getStatusCode());
verifyStatusCodeIndicateSendFailedOnly(sendStatus);
verifySendStatusIsError(sendStatus);
assertTrue(sendStatus.canProceedWithWorkflow());
}
项目:olat
文件:ExceptionHandlingMailSendingTemplateTest.java
@Test
public void shouldFailWithOLATRuntimeExceptionWithAnUnhandletSendFailedException(){
//setup
ExceptionHandlingMailSendingTemplate doSendWithSendFailedException = new ExceptionHandlingMailSendingTemplate() {
@Override
protected boolean doSend(Emailer emailer) throws AddressException, SendFailedException, MessagingException {
assertNotNull("emailer was constructed", emailer);
MessagingException firstInnerException = new SendFailedException("unhandled sendfail exception");
throw new SendFailedException(BY_OLAT_UNHANDLED_TEXT, firstInnerException);
}
@Override
protected MailTemplate getMailTemplate() {
return emptyMailTemplate;
};
@Override
protected List<ContactList> getTheToContactLists() {
return theContactLists;
}
@Override
protected Identity getFromIdentity() {
return theFromIdentity;
}
};
//exercise
try{
MessageSendStatus sendStatus = doSendWithSendFailedException.send();
fail("OLATRuntime exception is not thrown.");
}catch(OLATRuntimeException ore){
assertNotNull(ore);
}
}
项目:olat
文件:ExceptionHandlingMailSendingTemplateTest.java
@Theory
public void shouldFailWithErrorWithAnyOtherMessagingException(final MessagingException me){
//setup
ExceptionHandlingMailSendingTemplate doSendWithSendFailedException = new ExceptionHandlingMailSendingTemplate() {
@Override
protected boolean doSend(Emailer emailer) throws AddressException, SendFailedException, MessagingException {
assertNotNull("emailer was constructed", emailer);
throw me;
}
@Override
protected MailTemplate getMailTemplate() {
return emptyMailTemplate;
};
@Override
protected List<ContactList> getTheToContactLists() {
return theContactLists;
}
@Override
protected Identity getFromIdentity() {
return theFromIdentity;
}
};
//exercise
MessageSendStatus sendStatus = doSendWithSendFailedException.send();
//verify
assertEquals(MessageSendStatusCode.MAIL_CONTENT_NOK, sendStatus.getStatusCode());
verifyStatusCodeIndicateMessagingExcpetionOnly(sendStatus);
verifySendStatusIsWarn(sendStatus);
assertFalse(sendStatus.canProceedWithWorkflow());
}
项目:olat
文件:EmailerTest.java
@Test
public void testSystemEmailerSetupBySendingAMessageFromAdminToInfo() throws AddressException, SendFailedException, MessagingException{
//Setup
//Exercise
systemEmailer.sendEmail(ObjectMother.OLATINFO_EMAIL, ObjectMother.AN_EXAMPLE_SUBJECT, ObjectMother.HELLOY_KITTY_THIS_IS_AN_EXAMPLE_BODY);
//Verify
verify(webappAndMailhelperMockSystemMailer, times(1)).send(any(MimeMessage.class), any(MailerResult.class));
assertEquals("system is mail sender", ObjectMother.OLATADMIN_EMAIL, systemEmailer.mailfrom);
}
项目:olat
文件:EmailerTest.java
@Test
public void testShouldNotSendAnEmailWithDisabledMailHost() throws AddressException, SendFailedException, MessagingException{
//Setup
MailPackageStaticDependenciesWrapper webappAndMailhelperMock = createWebappAndMailhelperWithDisabledMailFunctinality();
Emailer anEmailer = new Emailer(mailTemplateMockForSystemMailer, webappAndMailhelperMock);
//Exercise
anEmailer.sendEmail(ObjectMother.OLATINFO_EMAIL, ObjectMother.AN_EXAMPLE_SUBJECT, ObjectMother.HELLOY_KITTY_THIS_IS_AN_EXAMPLE_BODY);
//Verify
verify(webappAndMailhelperMock, never()).send(any(MimeMessage.class), any(MailerResult.class));
}
项目:Openfire
文件:EmailService.java
public void sendMessages() throws MessagingException {
Transport transport = null;
try {
URLName url = new URLName("smtp", host, port, "", username, password);
if (session == null) {
createSession();
}
transport = new com.sun.mail.smtp.SMTPTransport(session, url);
transport.connect(host, port, username, password);
for (MimeMessage message : messages) {
// Attempt to send message, but catch exceptions caused by invalid
// addresses so that other messages can continue to be sent.
try {
transport.sendMessage(message,
message.getRecipients(MimeMessage.RecipientType.TO));
}
catch (AddressException | SendFailedException ae) {
Log.error(ae.getMessage(), ae);
}
}
}
finally {
if (transport != null) {
try {
transport.close();
}
catch (MessagingException e) { /* ignore */ }
}
}
}
项目:lutece-core
文件:MailUtil.java
/**
* Send a Multipart text message with attached files. FIXME: use prepareMessage method
*
* @param strRecipientsTo
* The list of the main recipients email.Every recipient must be separated by the mail separator defined in config.properties
* @param strRecipientsCc
* The recipients list of the carbon copies .
* @param strRecipientsBcc
* The recipients list of the blind carbon copies .
* @param strSenderName
* The sender name.
* @param strSenderEmail
* The sender email address.
* @param strSubject
* The message subject.
* @param strMessage
* The message.
* @param fileAttachements
* The list of attached files
* @param transport
* the smtp transport object
* @param session
* the smtp session object
* @throws AddressException
* If invalid address
* @throws SendFailedException
* If an error occured during sending
* @throws MessagingException
* If a messaging error occured
*/
protected static void sendMultipartMessageText( String strRecipientsTo, String strRecipientsCc, String strRecipientsBcc, String strSenderName,
String strSenderEmail, String strSubject, String strMessage, List<FileAttachment> fileAttachements, Transport transport, Session session )
throws MessagingException, AddressException, SendFailedException
{
Message msg = prepareMessage( strRecipientsTo, strRecipientsCc, strRecipientsBcc, strSenderName, strSenderEmail, strSubject, session );
msg.setHeader( HEADER_NAME, HEADER_VALUE );
// Creation of the root part containing all the elements of the message
MimeMultipart multipart = new MimeMultipart( );
// Creation of the html part, the "core" of the message
BodyPart msgBodyPart = new MimeBodyPart( );
// msgBodyPart.setContent( strMessage, BODY_PART_MIME_TYPE );
msgBodyPart.setDataHandler( new DataHandler( new ByteArrayDataSource( strMessage, AppPropertiesService.getProperty( PROPERTY_MAIL_TYPE_PLAIN )
+ AppPropertiesService.getProperty( PROPERTY_CHARSET ) ) ) );
multipart.addBodyPart( msgBodyPart );
// add File Attachement
if ( fileAttachements != null )
{
for ( FileAttachment fileAttachement : fileAttachements )
{
String strFileName = fileAttachement.getFileName( );
byte [ ] bContentFile = fileAttachement.getData( );
String strContentType = fileAttachement.getType( );
ByteArrayDataSource dataSource = new ByteArrayDataSource( bContentFile, strContentType );
msgBodyPart = new MimeBodyPart( );
msgBodyPart.setDataHandler( new DataHandler( dataSource ) );
msgBodyPart.setFileName( strFileName );
msgBodyPart.setDisposition( CONSTANT_DISPOSITION_ATTACHMENT );
multipart.addBodyPart( msgBodyPart );
}
}
msg.setContent( multipart );
sendMessage( msg, transport );
}
项目:WebUntisService
文件:MailCheck.java
/**
* @param mex
*/
private static void handleEMailError(MessagingException mex) {
mex.printStackTrace();
System.out.println();
Exception ex = mex;
do {
if (ex instanceof SendFailedException) {
SendFailedException sfex = (SendFailedException) ex;
Address[] invalid = sfex.getInvalidAddresses();
if (invalid != null) {
System.out.println(" ** Invalid Addresses");
for (int i = 0; i < invalid.length; i++)
System.out.println(" " + invalid[i]);
}
Address[] validUnsent = sfex.getValidUnsentAddresses();
if (validUnsent != null) {
System.out.println(" ** ValidUnsent Addresses");
for (int i = 0; i < validUnsent.length; i++)
System.out.println(" " + validUnsent[i]);
}
Address[] validSent = sfex.getValidSentAddresses();
if (validSent != null) {
System.out.println(" ** ValidSent Addresses");
for (int i = 0; i < validSent.length; i++)
System.out.println(" " + validSent[i]);
}
}
System.out.println();
if (ex instanceof MessagingException)
ex = ((MessagingException) ex).getNextException();
else
ex = null;
} while (ex != null);
}
项目:g3server
文件:EmailService.java
public void sendMessages() throws MessagingException {
Transport transport = null;
try {
URLName url = new URLName("smtp", host, port, "", username, password);
if (session == null) {
createSession();
}
transport = new com.sun.mail.smtp.SMTPTransport(session, url);
transport.connect(host, port, username, password);
for (MimeMessage message : messages) {
// Attempt to send message, but catch exceptions caused by invalid
// addresses so that other messages can continue to be sent.
try {
transport.sendMessage(message,
message.getRecipients(MimeMessage.RecipientType.TO));
}
catch (AddressException ae) {
Log.error(ae.getMessage(), ae);
}
catch (SendFailedException sfe) {
Log.error(sfe.getMessage(), sfe);
}
}
}
finally {
if (transport != null) {
try {
transport.close();
}
catch (MessagingException e) { /* ignore */ }
}
}
}
项目:openfire
文件:EmailService.java
public void sendMessages() throws MessagingException {
Transport transport = null;
try {
URLName url = new URLName("smtp", host, port, "", username, password);
if (session == null) {
createSession();
}
transport = new com.sun.mail.smtp.SMTPTransport(session, url);
transport.connect(host, port, username, password);
for (MimeMessage message : messages) {
// Attempt to send message, but catch exceptions caused by invalid
// addresses so that other messages can continue to be sent.
try {
transport.sendMessage(message,
message.getRecipients(MimeMessage.RecipientType.TO));
}
catch (AddressException ae) {
Log.error(ae.getMessage(), ae);
}
catch (SendFailedException sfe) {
Log.error(sfe.getMessage(), sfe);
}
}
}
finally {
if (transport != null) {
try {
transport.close();
}
catch (MessagingException e) { /* ignore */ }
}
}
}
项目:whois
文件:MailGatewaySmtpTest.java
@Test
public void send_invoked_only_once_on_permanent_negative_response() {
Mockito.doAnswer(invocation -> {
throw new SendFailedException("550 rejected: mail rejected for policy reasons");
}).when(mailSender).send(any(MimeMessagePreparator.class));
try {
subject.sendEmail("to", "subject", "test", "");
fail();
} catch (Exception e) {
assertThat(e, instanceOf(SendFailedException.class));
verify(mailSender, times(1)).send(any(MimeMessagePreparator.class));
}
}
项目:jcommerce
文件:MailSender.java
/**
* 开始发送邮件
*
* @throws MessagingException
* @throws SendFailedException
*/
public void sendMail() throws MessagingException, SendFailedException {
if (mailToAddress == null)
throw new MessagingException("请你必须你填写收件人地址!");
mailMessage.setContent(multipart);
Transport.send(mailMessage);
}
项目:openfire-bespoke
文件:EmailService.java
public void sendMessages() throws MessagingException {
Transport transport = null;
try {
URLName url = new URLName("smtp", host, port, "", username, password);
if (session == null) {
createSession();
}
transport = new com.sun.mail.smtp.SMTPTransport(session, url);
transport.connect(host, port, username, password);
for (MimeMessage message : messages) {
// Attempt to send message, but catch exceptions caused by invalid
// addresses so that other messages can continue to be sent.
try {
transport.sendMessage(message,
message.getRecipients(MimeMessage.RecipientType.TO));
}
catch (AddressException ae) {
Log.error(ae.getMessage(), ae);
}
catch (SendFailedException sfe) {
Log.error(sfe.getMessage(), sfe);
}
}
}
finally {
if (transport != null) {
try {
transport.close();
}
catch (MessagingException e) { /* ignore */ }
}
}
}
项目:Progetto-A
文件:Email.java
/**
* Send email using GMail SMTP server.
*
* @param username GMail username
* @param password GMail password
* @param recipientEmail TO recipient
* @param ccEmail CC recipient. Can be empty if there is no CC recipient
* @param title title of the message
* @param message message to be sent
* @throws AddressException if the email address parse failed
* @throws MessagingException if the connection is dead or not in the connected state or if the message is not a MimeMessage
*/
private static void Send(final String username, final String password, String recipientEmail, String ccEmail, String title, String message) throws AddressException, MessagingException, EmailInesistente {
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
// Get a Properties object
Properties props = System.getProperties();
props.setProperty("mail.smtps.host", "smtp.gmail.com");
props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.port", "465");
props.setProperty("mail.smtp.socketFactory.port", "465");
props.setProperty("mail.smtps.auth", "true");
/*
If set to false, the QUIT command is sent and the connection is immediately closed. If set
to true (the default), causes the transport to wait for the response to the QUIT command.
ref : http://java.sun.com/products/javamail/javadocs/com/sun/mail/smtp/package-summary.html
http://forum.java.sun.com/thread.jspa?threadID=5205249
smtpsend.java - demo program from javamail
*/
props.put("mail.smtps.quitwait", "false");
Session session = Session.getInstance(props, null);
// -- Create a new message --
final MimeMessage msg = new MimeMessage(session);
// -- Set the FROM and TO fields --
msg.setFrom(new InternetAddress(username + "@gmail.com"));
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipientEmail, false));
if (ccEmail.length() > 0) {
msg.setRecipients(Message.RecipientType.CC, InternetAddress.parse(ccEmail, false));
}
msg.setSubject(title);
msg.setText(message, "utf-8");
msg.setSentDate(new Date());
SMTPTransport t = (SMTPTransport)session.getTransport("smtps");
t.connect("smtp.gmail.com", username, password);
try{
t.sendMessage(msg, msg.getAllRecipients());
}
catch (SendFailedException e){
throw new EmailInesistente();
}
t.close();
}
项目:sistra
文件:PluginEnvio.java
/**
* Realiza el envio de un email paginado
* @param me
* @param envio
* @param destinatarios
* @param fechaInicio
* @return
*/
private static boolean enviarPaginaEmails(MensajeEmail me, Envio envio, List destinatarios, Date fechaInicio)
{
MobUtils utils = MobUtils.getInstance();
try {
EmailUtils emailUtils = EmailUtils.getInstance();
Date now = new Date();
if((now.getTime()-fechaInicio.getTime()) > utils.getLimiteTiempo().longValue()){
log.debug("Cancelamos envio por haberse superado el tiempo Maximo del proceso de envio");
return false;
}
if (simularEnvioEmail.booleanValue()){
log.debug("Email simulando envio");
Date inicioSimulacion = new Date();
while ( (inicioSimulacion.getTime() + (simularEnvioDuracion * 1000)) > System.currentTimeMillis() ){
// Esperamos tiempo simulacion
}
log.debug("Email envio simulado");
}else{
emailUtils.enviar(prefijoEnvioEmail, me,envio,destinatarios);
}
return true;
}catch (SendFailedException ex){
List invalidAddresses = null;
List unsentAddresses = null;
List validAddresses = null;
if(ex.getInvalidAddresses() != null){
invalidAddresses = new ArrayList();
for(int i=0;i<ex.getInvalidAddresses().length;i++){
invalidAddresses.add(ex.getInvalidAddresses()[i].toString());
}
}
if(ex.getValidUnsentAddresses() != null){
unsentAddresses = new ArrayList();
for(int i=0;i<ex.getValidUnsentAddresses().length;i++){
unsentAddresses.add(ex.getValidUnsentAddresses()[i].toString());
}
}
if(ex.getValidSentAddresses() != null){
validAddresses = new ArrayList();
for(int i=0;i<ex.getValidSentAddresses().length;i++){
validAddresses.add(ex.getValidSentAddresses()[i].toString());
}
}
log.debug("Error generando correo para el envio: " + envio.getNombre(), ex);
me.setError("Error generando correo para el envio: " + envio.getNombre() + "." + ex.getMessage());
me.setError(me.getError()+ " ERROR EMAILS: ");
if(invalidAddresses != null){
me.setError(me.getError()+ "-no validos-" + invalidAddresses.toString());
}
if(unsentAddresses != null){
me.setError(me.getError()+ "-no enviados-" + unsentAddresses.toString());
}
me.setError(me.getError() + ": " + ex.getMessage()+ ".");
me.setDestinatariosValidos(validAddresses);
me.setEstado(ConstantesMobtratel.ESTADOENVIO_ERROR);
} catch (DelegateException de) {
log.debug("Error accediendo a la cuenta por defecto de EMAIL");
me.setError("Error accediendo a la cuenta por defecto de EMAIL");
me.setEstado(ConstantesMobtratel.ESTADOENVIO_ERROR);
} catch (Exception e) {
log.debug("Error generando correo para el envio: " + envio.getNombre());
me.setError("Error generando correo para el envio: " + envio.getNombre() + "." + e.getMessage());
me.setError(me.getError()+ "ERROR EMAILS: " + destinatarios.toString() + ": " + e.getMessage()+ ".");
me.setEstado(ConstantesMobtratel.ESTADOENVIO_ERROR);
}
return false;
}
项目:weplantaforest
文件:MailHelper.java
private void handleException(MessagingException mex) {
LOG.error("\n--Exception handling in MailHelper.java", mex);
Exception ex = mex;
do {
if (ex instanceof SendFailedException) {
SendFailedException sfex = (SendFailedException) ex;
Address[] invalid = sfex.getInvalidAddresses();
if (invalid != null) {
LOG.error(" ** Invalid Addresses", ex);
if (invalid != null) {
for (int i = 0; i < invalid.length; i++) {
LOG.error(" " + invalid[i]);
}
}
}
Address[] validUnsent = sfex.getValidUnsentAddresses();
if (validUnsent != null) {
LOG.error(" ** ValidUnsent Addresses", ex);
if (validUnsent != null) {
for (int i = 0; i < validUnsent.length; i++) {
LOG.error(" " + validUnsent[i], ex);
}
}
}
Address[] validSent = sfex.getValidSentAddresses();
if (validSent != null) {
LOG.error(" ** ValidSent Addresses", ex);
if (validSent != null) {
for (int i = 0; i < validSent.length; i++) {
LOG.error(" " + validSent[i], ex);
}
}
}
}
if (ex instanceof MessagingException) {
ex = ((MessagingException) ex).getNextException();
} else {
ex = null;
}
} while (ex != null);
}
项目:olat
文件:ContactUIModel.java
@Override
protected boolean doSend(Emailer emailer) throws AddressException, SendFailedException, MessagingException {
return emailer.sendEmail(getTheToContactLists(), getSubject(), getBodyText(), getAttachements());
}
项目:olat
文件:ContactUIModel.java
@Override
protected boolean doSend(Emailer emailer) throws AddressException, SendFailedException, MessagingException {
String emailFromAsString = getFromIdentity().getAttributes().getEmail();//this mail is differently extracted in ContactForm
return emailer.sendEmailCC(emailFromAsString, getSubject(), getBodyText(), getAttachements());
}
项目:lutece-core
文件:MailUtil.java
/**
* Send a calendar message.
*
* @param strRecipientsTo
* The list of the main recipients email. Every recipient must be separated by the mail separator defined in config.properties
* @param strRecipientsCc
* The recipients list of the carbon copies .
* @param strRecipientsBcc
* The recipients list of the blind carbon copies .
* @param strSenderName
* The sender name.
* @param strSenderEmail
* The sender email address.
* @param strSubject
* The message subject.
* @param strMessage
* The HTML message.
* @param strCalendarMessage
* The calendar message.
* @param bCreateEvent
* True to create the event, false to remove it
* @param transport
* the smtp transport object
* @param session
* the smtp session object
* @throws AddressException
* If invalid address
* @throws SendFailedException
* If an error occurred during sending
* @throws MessagingException
* If a messaging error occurred
*/
protected static void sendMessageCalendar( String strRecipientsTo, String strRecipientsCc, String strRecipientsBcc, String strSenderName,
String strSenderEmail, String strSubject, String strMessage, String strCalendarMessage, boolean bCreateEvent, Transport transport, Session session )
throws MessagingException, AddressException, SendFailedException
{
Message msg = prepareMessage( strRecipientsTo, strRecipientsCc, strRecipientsBcc, strSenderName, strSenderEmail, strSubject, session );
msg.setHeader( HEADER_NAME, HEADER_VALUE );
MimeMultipart multipart = new MimeMultipart( );
BodyPart msgBodyPart = new MimeBodyPart( );
msgBodyPart.setDataHandler( new DataHandler( new ByteArrayDataSource( strMessage, AppPropertiesService.getProperty( PROPERTY_MAIL_TYPE_HTML )
+ AppPropertiesService.getProperty( PROPERTY_CHARSET ) ) ) );
multipart.addBodyPart( msgBodyPart );
BodyPart calendarBodyPart = new MimeBodyPart( );
// calendarBodyPart.addHeader( "Content-Class", "urn:content-classes:calendarmessage" );
calendarBodyPart.setContent(
strCalendarMessage,
AppPropertiesService.getProperty( PROPERTY_MAIL_TYPE_CALENDAR ) + AppPropertiesService.getProperty( PROPERTY_CHARSET )
+ AppPropertiesService.getProperty( PROPERTY_CALENDAR_SEPARATOR )
+ AppPropertiesService.getProperty( bCreateEvent ? PROPERTY_CALENDAR_METHOD_CREATE : PROPERTY_CALENDAR_METHOD_CANCEL ) );
calendarBodyPart.addHeader( HEADER_NAME, CONSTANT_BASE64 );
multipart.addBodyPart( calendarBodyPart );
msg.setContent( multipart );
sendMessage( msg, transport );
}
项目:James
文件:RemoteDelivery.java
/**
* Try to return a usefull logString created of the Exception which was
* given. Return null if nothing usefull could be done
*
* @param e
* The MessagingException to use
* @return logString
*/
private String exceptionToLogString(Exception e) {
if (e.getClass().getName().endsWith(".SMTPSendFailedException")) {
return "RemoteHost said: " + e.getMessage();
} else if (e instanceof SendFailedException) {
SendFailedException exception = (SendFailedException) e;
// No error
if (exception.getInvalidAddresses().length == 0 && exception.getValidUnsentAddresses().length == 0)
return null;
Exception ex;
StringBuilder sb = new StringBuilder();
boolean smtpExFound = false;
sb.append("RemoteHost said:");
if (e instanceof MessagingException)
while ((ex = ((MessagingException) e).getNextException()) != null && ex instanceof MessagingException) {
e = ex;
if (ex.getClass().getName().endsWith(".SMTPAddressFailedException")) {
try {
InternetAddress ia = (InternetAddress) invokeGetter(ex, "getAddress");
sb.append(" ( " + ia + " - [" + ex.getMessage().replaceAll("\\n", "") + "] )");
smtpExFound = true;
} catch (IllegalStateException ise) {
// Error invoking the getAddress method
} catch (ClassCastException cce) {
// The getAddress method returned something
// different than InternetAddress
}
}
}
if (!smtpExFound) {
boolean invalidAddr = false;
sb.append(" ( ");
if (exception.getInvalidAddresses().length > 0) {
sb.append(Arrays.toString(exception.getInvalidAddresses()));
invalidAddr = true;
}
if (exception.getValidUnsentAddresses().length > 0) {
if (invalidAddr == true)
sb.append(" ");
sb.append(Arrays.toString(exception.getValidUnsentAddresses()));
}
sb.append(" - [");
sb.append(exception.getMessage().replaceAll("\\n", ""));
sb.append("] )");
}
return sb.toString();
}
return null;
}
项目:zesped
文件:MailSessionHandler.java
public void sendMessage(Message oMsg, Address[] aAddrs)
throws NoSuchProviderException,SendFailedException,ParseException,
MessagingException,NullPointerException {
oMsg.setSentDate(new java.util.Date());
Transport.send(oMsg,aAddrs);
}
项目:lutece-core
文件:MailUtil.java
/**
* Send a text message.
*
* @param strRecipientsTo
* The list of the main recipients email.Every recipient must be separated by the mail separator defined in config.properties
* @param strRecipientsCc
* The recipients list of the carbon copies .
* @param strRecipientsBcc
* The recipients list of the blind carbon copies .
* @param strSenderName
* The sender name.
* @param strSenderEmail
* The sender email address.
* @param strSubject
* The message subject.
* @param strMessage
* The message.
* @param transport
* the smtp transport object
* @param session
* the smtp session object
* @throws AddressException
* If invalid address
* @throws SendFailedException
* If an error occured during sending
* @throws MessagingException
* If a messaging error occured
*/
protected static void sendMessageText( String strRecipientsTo, String strRecipientsCc, String strRecipientsBcc, String strSenderName,
String strSenderEmail, String strSubject, String strMessage, Transport transport, Session session ) throws MessagingException, AddressException,
SendFailedException
{
Message msg = prepareMessage( strRecipientsTo, strRecipientsCc, strRecipientsBcc, strSenderName, strSenderEmail, strSubject, session );
msg.setDataHandler( new DataHandler( new ByteArrayDataSource( strMessage, AppPropertiesService.getProperty( PROPERTY_MAIL_TYPE_PLAIN )
+ AppPropertiesService.getProperty( PROPERTY_CHARSET ) ) ) );
sendMessage( msg, transport );
}
项目:lutece-core
文件:MailUtil.java
/**
* Send a HTML formated message.
*
* @param strRecipientsTo
* The list of the main recipients email.Every recipient must be separated by the mail separator defined in config.properties
* @param strRecipientsCc
* The recipients list of the carbon copies .
* @param strRecipientsBcc
* The recipients list of the blind carbon copies .
* @param strSenderName
* The sender name.
* @param strSenderEmail
* The sender email address.
* @param strSubject
* The message subject.
* @param strMessage
* The message.
* @param transport
* the smtp transport object
* @param session
* the smtp session object
* @throws AddressException
* If invalid address
* @throws SendFailedException
* If an error occured during sending
* @throws MessagingException
* If a messaging error occured
*/
protected static void sendMessageHtml( String strRecipientsTo, String strRecipientsCc, String strRecipientsBcc, String strSenderName,
String strSenderEmail, String strSubject, String strMessage, Transport transport, Session session ) throws MessagingException, AddressException,
SendFailedException
{
Message msg = prepareMessage( strRecipientsTo, strRecipientsCc, strRecipientsBcc, strSenderName, strSenderEmail, strSubject, session );
msg.setHeader( HEADER_NAME, HEADER_VALUE );
// Message body formated in HTML
msg.setDataHandler( new DataHandler( new ByteArrayDataSource( strMessage, AppPropertiesService.getProperty( PROPERTY_MAIL_TYPE_HTML )
+ AppPropertiesService.getProperty( PROPERTY_CHARSET ) ) ) );
sendMessage( msg, transport );
}
项目:zesped
文件:MailSessionHandler.java
public void sendMessage(Message oMsg)
throws NoSuchProviderException,SendFailedException,ParseException,
MessagingException,NullPointerException,IllegalStateException {
oMsg.setSentDate(new java.util.Date());
Transport.send(oMsg);
}
项目:olat
文件:Emailer.java
/**
* @param mailto
* @param subject
* @param body
* @return
* @throws AddressException
* @throws SendFailedException
* @throws MessagingException TODO:gs handle exceptions internally and may return some error codes or so to get rid of dependecy of mail/activatoin jars in olat
*/
public boolean sendEmail(String mailto, String subject, String body) throws AddressException, SendFailedException, MessagingException {
return sendEmail(mailfrom, mailto, subject, body);
}
项目:olat
文件:ExceptionHandlingMailSendingTemplate.java
abstract protected boolean doSend(Emailer emailer) throws AddressException, SendFailedException, MessagingException;