Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaMailSenderImpl上的MessaginException_Java_Spring_Jakarta Mail_Spring Messaging_Mail Sender - Fatal编程技术网

JavaMailSenderImpl上的MessaginException

JavaMailSenderImpl上的MessaginException,java,spring,jakarta-mail,spring-messaging,mail-sender,Java,Spring,Jakarta Mail,Spring Messaging,Mail Sender,我正在尝试使用org.springframework.mail.MailSender发送电子邮件 我在以下类中配置了MailSender和MessageSource bean: @Configuration public class MailProvider { @Bean(name = "mailSender") public MailSender javaMailService() { JavaMailSenderImpl javaMailSender = new Java

我正在尝试使用org.springframework.mail.MailSender发送电子邮件

我在以下类中配置了MailSender和MessageSource bean:

  @Configuration

 public class MailProvider {

@Bean(name = "mailSender")
public MailSender javaMailService() {
    JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
    javaMailSender.setHost("smtp.gmail.com");
    javaMailSender.setPort(587);
    javaMailSender.setProtocol("smtp");
    Properties mailProperties = new Properties();
    mailProperties.put("mail.smtp.auth", Boolean.TRUE);
    mailProperties.put("mail.transport.protocol", "smtp");
    mailProperties.put("mail.smtp.starttls.enable", Boolean.TRUE);
    mailProperties.put("mail.smtp.debug", Boolean.TRUE);
    javaMailSender.setJavaMailProperties(mailProperties);
    return javaMailSender;
}

@Bean
public MessageSource messageSource() {
    final ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
    messageSource.setUseCodeAsDefaultMessage(true);
    messageSource.setDefaultEncoding("UTF-8");
    messageSource.setCacheSeconds(0);
    return messageSource;
}

@Bean
public PostUserListener getListener() {
    return new PostUserListener();
}

@Bean(name = "email")
public SimpleMailMessage getMessage() {
    return new SimpleMailMessage();
}

  }
在应用程序部署(tomcat)期间,我捕获异常:

java.lang.NoClassDefFoundError: javax/mail/MessagingException
at ru.spb.dreamwhite.config.MailProvider.javaMailService(MailProvider.java:23)

Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1365)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1188)
我使用上述bean的类:

@Component
public class PostUserListener implements ApplicationListener<OnPostUserDataEvent> {

private static Logger logger = Logger.getLogger(PostUserListener.class.getName());

@Autowired
SimpleMailMessage email;

@Autowired
private MailSender mailSender;

@Override
public void onApplicationEvent(OnPostUserDataEvent onPostUserDataEvent) {
    this.confirmPost(onPostUserDataEvent);
}

private void confirmPost(OnPostUserDataEvent onPostUserDataEvent) {
    logger.info("new user " + onPostUserDataEvent.getUser().getName() + " is created");

    User user = onPostUserDataEvent.getUser();
    String recipient = user.getEmail();
    String subject = "Registration Confirmation";
    String url = onPostUserDataEvent.getAppUrl();
    String message = "Thank you for registering. Please click on the below link to activate your account";
    email.setTo(recipient);
    email.setSubject(subject);
    email.setText(message + "http://localhost:8080" + url);
    mailSender.send(email);

   }
 }
@组件
公共类positionrListener实现ApplicationListener{
私有静态记录器Logger=Logger.getLogger(posteSerListener.class.getName());
@自动连线
简单电子邮件;
@自动连线
私人邮件发送者;
@凌驾
ApplicationEvent上的公共无效(OnPostUserDataEvent OnPostUserDataEvent){
此.confirmPost(onPostUserDataEvent);
}
私有void confirmPost(OnPostUserDataEvent OnPostUserDataEvent){
logger.info(“创建了新用户”+onPostUserDataEvent.getUser().getName()+”;
User User=onposturedataevent.getUser();
字符串recipient=user.getEmail();
字符串subject=“注册确认”;
字符串url=onPostUserDataEvent.getAppUrl();
String message=“感谢您的注册。请单击下面的链接激活您的帐户”;
email.setTo(收件人);
email.setSubject(主题);
email.setText(消息+”http://localhost:8080“+url);
邮件发送者。发送(电子邮件);
}
}

我无法理解信息例外的本质。这是否意味着遗漏了该类异常。或者它意味着其他类型的问题?…

这意味着类路径中没有必需的依赖项。在本例中javax.mail-您使用Spring Boot吗?我不使用Spring BootСПабббббб,бббббббббб,П107!