相关疑难解决方法(0)

使用java发送电子邮件

我正在尝试使用Java发送电子邮件:

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class SendEmail {

   public static void main(String [] args) {

      // Recipient's email ID needs to be mentioned.
      String to = "abcd@gmail.com";

      // Sender's email ID needs to be mentioned
      String from = "web@gmail.com";

      // Assuming you are sending email from localhost
      String host = "localhost";

      // Get system properties
      Properties properties = System.getProperties();

      // Setup mail server
      properties.setProperty("mail.smtp.host", host);

      // Get the default Session object.
      Session session = Session.getDefaultInstance(properties); …
Run Code Online (Sandbox Code Playgroud)

java email

111
推荐指数
6
解决办法
29万
查看次数

如何为Gmail配置Spring JavaMailSenderImpl

我正在尝试使用JavaMailSenderImpl类找到用于连接到Gmail SMTP服务器的正确属性.

我先说我尝试过这里的方法.这很好.但是当我尝试使用完全相同的身份验证信息在该帖子下面的配置时,我收到了javax.mail.AuthenticationFailedException.

我目前的配置如下所示.

<bean id="mailSender" class ="org.springframework.mail.javamail.JavaMailSenderImpl" >
    <property name="username" value="XXX@gmail.com" />
    <property name="password" value="XXX" />
    <property name="javaMailProperties">
    <props>
        <prop key="mail.smtp.host">smtp.gmail.com</prop>
        <prop key="mail.smtp.port">587</prop>
        <prop key="mail.smtp.auth">true</prop>
        <prop key="mail.smtp.starttls.enable">true</prop>
    </props>
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

如果我知道我的凭据是正确的,为什么我仍然会收到此javax.mail.AuthenticationFailedException.

更新

以下是基于以下答案的更新代码.我仍然收到同样的例外.

<bean id="mailSender" class ="org.springframework.mail.javamail.JavaMailSenderImpl" >
    <property name="username" value="XXX@gmail.com" />
    <property name="password" value="XXX" />
    <property name="javaMailProperties">
    <props>
        <prop key="mail.smtp.from">XXX@gmail.com</prop>
        <prop key="mail.smtp.user">XXX@gmail.com</prop>
        <prop key="mail.smtp.password">XXX</prop>
        <prop key="mail.smtp.host">smtp.gmail.com</prop>
        <prop key="mail.smtp.port">587</prop>
        <prop key="mail.smtp.auth">true</prop>
        <prop key="mail.smtp.starttls.enable">true</prop>
    </props>
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

java gmail spring

38
推荐指数
6
解决办法
9万
查看次数

如何用Java发送电子邮件?

我需要从Tomcat中运行的servlet发送电子邮件.我总是会向同一个收件人发送相同的主题,但内容不同.

使用Java发送电子邮件的简单方法是什么?

有关:

如何使用GMail从Java应用程序发送电子邮件?

java email tomcat servlets

29
推荐指数
5
解决办法
3万
查看次数

25
推荐指数
2
解决办法
9万
查看次数

必须首先发出STARTTLS命令.使用Java和Google Apps发送电子邮件

我正在尝试使用Bill the Lizard的代码来使用Google Apps发送电子邮件.我收到此错误:

Exception in thread "main" javax.mail.SendFailedException: Sending failed;
  nested exception is: 
    javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first. f3sm9277120nfh.74

    at javax.mail.Transport.send0(Transport.java:219)
    at javax.mail.Transport.send(Transport.java:81)
    at SendMailUsingAuthentication.postMail(SendMailUsingAuthentication.java:81)
    at SendMailUsingAuthentication.main(SendMailUsingAuthentication.java:44)
Run Code Online (Sandbox Code Playgroud)

Bill的代码包含下一行,它似乎与错误有关:

   props.put("mail.smtp.starttls.enable","true");
Run Code Online (Sandbox Code Playgroud)

但是,它没有帮助.

这些是我的导入声明:

import java.util.Properties; 
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
Run Code Online (Sandbox Code Playgroud)

有谁知道这个错误?

java email google-apps

20
推荐指数
4
解决办法
9万
查看次数

使用java通过gmail发送电子邮件

正如标题所示,我想用我的 gmail 帐户发送电子邮件,编写一些 java 代码。我找到了很多代码示例,但没有一个对我有用

我正在寻找这个:How can I send an email by Java application using GMail, Yahoo, or Hotmail?

我已经尝试过作为答案发布的代码,但我得到了这个异常:

javax.mail.MessagingException: Can't send command to SMTP host;
  nested exception is:
    javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
    at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1717)
    at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1704)
    at com.sun.mail.smtp.SMTPTransport.ehlo(SMTPTransport.java:1088)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:468)
    at javax.mail.Service.connect(Service.java:291)
    at javax.mail.Service.connect(Service.java:172)
...
Run Code Online (Sandbox Code Playgroud)

代码是这样的:

public class GmailTest {
   
    private static String USER_NAME = "*****";  // GMail user name (just the part before "@gmail.com")
    private static String PASSWORD …
Run Code Online (Sandbox Code Playgroud)

java gmail

4
推荐指数
1
解决办法
4477
查看次数

如何从java Web应用程序发送电子邮件

我有一个坐在Tomcat/Apache上的java Web应用程序.

我有一个表格,必须发送电子邮件.实现这一目标的最佳方法是什么?

java email

3
推荐指数
2
解决办法
1万
查看次数

发送邮件时出错 - ConnectException

我使用以下Java代码发送电子邮件.

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class SendEmail
{
   public static void main(String [] args)
   {    

      String to = "abcd@gmail.com";
      String from = "web@gmail.com";
      String host = "localhost";
      Properties properties = System.getProperties();
      properties.setProperty("smtp.gmail.com", host);
      Session session = Session.getDefaultInstance(properties);
      try{
         MimeMessage message = new MimeMessage(session);
         message.setFrom(new InternetAddress(from));
         message.addRecipient(Message.RecipientType.TO,
                                  new InternetAddress(to))
         message.setSubject("This is the Subject Line!");
         message.setText("This is actual message");
         Transport.send(message);
         System.out.println("Sent message successfully....");
      }catch (MessagingException mex) {
         mex.printStackTrace();
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

当我运行该文件时,我收到以下错误:

javax.mail.MessagingException: Could not connect to …
Run Code Online (Sandbox Code Playgroud)

java email javax.mail connectexception

3
推荐指数
1
解决办法
3万
查看次数

如何通过Java从Outlook发送电子邮件?

我被企业防火墙所困,该防火墙不允许我通过Java Mail API或Apache Commons Email之类的传统方式向组织内部的其他人发送电子邮件(无论如何,这都是我想要的)。但是我的Outlook 2010显然可以发送这些电子邮件。我想知道是否有一种方法可以通过Java代码自动执行Outlook 2010,以便Outlook可以发送电子邮件?我知道可以使用“ mailto”之类的东西弹出带有默认填充信息的默认Outlook发送对话框,但是我正在寻找一种使发送操作在幕后进行的方法。感谢您提供任何信息。

java apache email outlook jakarta-mail

3
推荐指数
1
解决办法
1万
查看次数

使用 java mail api 发送邮件时出现 MailConnectException

尝试使用 java mail api 发送电子邮件。我不断收到 MailConnectException。我尝试了多种方法都没有成功解决。

该语句抛出异常

transport.connect("smtp.gmail.com", "someone@gmail.com", "myPassword");
Run Code Online (Sandbox Code Playgroud)

谁能告诉我我做错了什么?

public static void main(String[] args) {
    String host = "smtp.gmail.com";
    String from = "someone@gmail.com";
    Properties props = System.getProperties();
    props.put("mail.smtp.host", host);
    props.put("mail.smtp.user", from);
    props.put("mail.smtp.password", "myPassword");
    props.put("mail.smtp.port", "465"); 
    props.put("mail.smtp.auth", "true");
    try{
        Session session = Session.getDefaultInstance(props, null);
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(from));
        message.addRecipients(Message.RecipientType.TO, "someone@hotmail.com");
        message.setSubject("sending in a group");
        message.setText("Welcome to JavaMail");
        Transport transport = session.getTransport("smtp");
        transport.connect("smtp.gmail.com", "someone@gmail.com", "myPassword");//CAUSES EXCEPTION
        transport.sendMessage(message, message.getAllRecipients());
    }catch(MessagingException e){
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

com.sun.mail.util.MailConnectException: Couldn't connect …
Run Code Online (Sandbox Code Playgroud)

java web-applications registration jakarta-mail web

2
推荐指数
1
解决办法
4万
查看次数