List of usage examples for org.springframework.mail SimpleMailMessage setCc
@Override public void setCc(String... cc)
From source file:com.springstudy.utils.email.SimpleMailService.java
/** * ??.// w ww. j av a 2s . co m */ public boolean sendNotificationMail(com.gmk.framework.common.utils.email.Email email) { SimpleMailMessage msg = new SimpleMailMessage(); msg.setFrom(Global.getConfig("mailFrom")); msg.setTo(email.getAddress()); if (StringUtils.isNotEmpty(email.getCc())) { String cc[] = email.getCc().split(";"); msg.setCc(cc);//? } msg.setSubject(email.getSubject()); // ???? // String content = String.format(textTemplate, userName, new Date()); String content = email.getContent(); msg.setText(content); try { mailSender.send(msg); if (logger.isInfoEnabled()) { logger.info("??{}", StringUtils.join(msg.getTo(), ",")); } return true; } catch (Exception e) { logger.error(email.getAddressee() + "-" + email.getSubject() + "-" + "??", e); } return false; }
From source file:org.gbif.portal.service.impl.LogManagerImpl.java
/** * Sends a log message to the appropriate recipient * /*from ww w . j a va 2s .c o m*/ * TODO Should really make use of velocity templating * * @param message GbifLogMessage */ protected void sendFeedbackMessage(GbifLogMessage message, User user, String url) { // for safety if (user == null) { return; } List<String> toEmailAddresses = new ArrayList<String>(); toEmailAddresses.add("sib+dataportal@humboldt.org.co"); List<String> ccEmailAddresses = new ArrayList<String>(); if (message.getDataResourceId() != 0) { String dataResourceKey = new Long(message.getDataResourceId()).toString(); List<DataResourceAgentDTO> agents = dataResourceManager.getAgentsForDataResource(dataResourceKey); if (agents != null) { for (DataResourceAgentDTO agent : agents) { if (agent.getAgentType() == AgentType.DATAADMINISTRATOR.getValue()) { toEmailAddresses.add(processEmail(agent.getAgentEmail())); } else { ccEmailAddresses.add(processEmail(agent.getAgentEmail())); } } if (toEmailAddresses.size() == 0 && ccEmailAddresses.size() > 0) { toEmailAddresses = ccEmailAddresses; ccEmailAddresses = new ArrayList<String>(); } } } if (toEmailAddresses.size() == 0 && message.getDataProviderId() != 0) { String dataProviderKey = new Long(message.getDataProviderId()).toString(); List<DataProviderAgentDTO> agents = dataResourceManager.getAgentsForDataProvider(dataProviderKey); if (agents != null) { for (DataProviderAgentDTO agent : agents) { if (agent.getAgentType() == AgentType.DATAADMINISTRATOR.getValue()) { toEmailAddresses.add(processEmail(agent.getAgentEmail())); } else { ccEmailAddresses.add(processEmail(agent.getAgentEmail())); } } if (toEmailAddresses.size() == 0 && ccEmailAddresses.size() > 0) { toEmailAddresses = ccEmailAddresses; ccEmailAddresses = new ArrayList<String>(); } } } if (toEmailAddresses.size() != 0) { ccEmailAddresses.addAll(portalEmailAddresses); ccEmailAddresses.removeAll(toEmailAddresses); SimpleMailMessage providerMessage = new SimpleMailMessage(providerTemplateMessage); providerMessage.setTo(toEmailAddresses.toArray(new String[toEmailAddresses.size()])); //user that submitted feedback should also be CCed if (user.getEmail() != null) { ccEmailAddresses.add(processEmail(user.getEmail())); } providerMessage.setCc(ccEmailAddresses.toArray(new String[ccEmailAddresses.size()])); // TODO - NLS and portal URL StringBuffer subjectBuffer = new StringBuffer(); SimpleMailMessage userMessage = new SimpleMailMessage(userTemplateMessage); userMessage.setTo(user.getEmail()); subjectBuffer.append("Comentarios desde el Portal de Datos del SIB Colombia - "); StringBuffer textBuffer = new StringBuffer(); textBuffer.append( "El siguiente mensaje ha sido enviado a travs del Portal del Datos del SIB Colombia.\n\n"); if (user != null) { textBuffer.append(" Usuario: "); textBuffer.append(user.getName()); textBuffer.append(" ("); textBuffer.append(user.getEmail()); textBuffer.append(")\n\n"); } if (message.getDataProviderId() != null && message.getDataProviderId() != 0) { try { DataProviderDTO dto = dataResourceManager .getDataProviderFor(new Long(message.getDataProviderId()).toString()); textBuffer.append(" Publicador de datos: "); textBuffer.append(dto.getName()); textBuffer.append("\n"); String portalUrl = " URL en el portal: " + url + "/datasets/provider/"; //textBuffer.append(" Portal URL: http://data.gbif.org/datasets/provider/"); textBuffer.append(portalUrl); textBuffer.append(dto.getKey()); textBuffer.append("\n\n"); } catch (Exception e) { // ignore } } if (message.getDataResourceId() != null && message.getDataResourceId() != 0) { try { DataResourceDTO dto = dataResourceManager .getDataResourceFor(new Long(message.getDataResourceId()).toString()); textBuffer.append(" Conjunto de datos: "); textBuffer.append(dto.getName()); textBuffer.append("\n"); String portalUrl = " URL en el portal: " + url + "/datasets/resource/"; //textBuffer.append(" Portal URL: http://data.gbif.org/datasets/resource/"); textBuffer.append(portalUrl); textBuffer.append(dto.getKey()); textBuffer.append("\n\n"); } catch (Exception e) { // ignore } } if (message.getOccurrenceId() != null && message.getOccurrenceId() != 0) { try { OccurrenceRecordDTO dto = occurrenceManager .getOccurrenceRecordFor(new Long(message.getOccurrenceId()).toString()); subjectBuffer.append("catalogue number: "); subjectBuffer.append(dto.getCatalogueNumber()); subjectBuffer.append(" "); textBuffer.append(" Occurrence record: "); textBuffer.append(dto.getInstitutionCode()); textBuffer.append(" / "); textBuffer.append(dto.getCollectionCode()); textBuffer.append(" / "); textBuffer.append(dto.getCatalogueNumber()); textBuffer.append("\n"); String portalUrl = " URL en el portal: " + url + "/occurrences/"; //textBuffer.append(" Portal URL: http://data.gbif.org/occurrences/"); textBuffer.append(portalUrl); textBuffer.append(dto.getKey()); textBuffer.append("\n\n"); } catch (Exception e) { // ignore } } if (message.getTaxonConceptId() != null && message.getTaxonConceptId() != 0) { try { TaxonConceptDTO dto = taxonomyManager .getTaxonConceptFor(new Long(message.getTaxonConceptId()).toString()); subjectBuffer.append("taxon: "); subjectBuffer.append(dto.getTaxonName()); textBuffer.append(" Taxon: "); textBuffer.append(dto.getTaxonName()); textBuffer.append("\n"); String portalUrl = " URL en el portal: " + url + "/species/"; //textBuffer.append(" Portal URL: http://data.gbif.org/species/"); textBuffer.append(portalUrl); textBuffer.append(dto.getKey()); textBuffer.append("\n\n"); } catch (Exception e) { // ignore } } textBuffer.append(message.getMessage()); providerMessage.setSubject(subjectBuffer.toString()); providerMessage.setText(textBuffer.toString()); userMessage.setSubject(subjectBuffer.toString()); userMessage.setText("Gracias por su comentario. El mensaje ha sido" + " enviado en su nombre, al publicador de datos apropiado.\n\n"); try { mailSender.send(providerMessage); mailSender.send(userMessage); } catch (MailException e) { // simply log it and go on... logger.error("Couldn't send message", e); } } }