我正在尝试使用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) 我正在尝试使用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) 我需要从Tomcat中运行的servlet发送电子邮件.我总是会向同一个收件人发送相同的主题,但内容不同.
使用Java发送电子邮件的简单方法是什么?
我正在尝试使用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)
有谁知道这个错误?
正如标题所示,我想用我的 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) 我有一个坐在Tomcat/Apache上的java Web应用程序.
我有一个表格,必须发送电子邮件.实现这一目标的最佳方法是什么?
我使用以下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 Mail API或Apache Commons Email之类的传统方式向组织内部的其他人发送电子邮件(无论如何,这都是我想要的)。但是我的Outlook 2010显然可以发送这些电子邮件。我想知道是否有一种方法可以通过Java代码自动执行Outlook 2010,以便Outlook可以发送电子邮件?我知道可以使用“ mailto”之类的东西弹出带有默认填充信息的默认Outlook发送对话框,但是我正在寻找一种使发送操作在幕后进行的方法。感谢您提供任何信息。
尝试使用 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 ×10
email ×6
gmail ×2
jakarta-mail ×2
apache ×1
google-apps ×1
javax.mail ×1
outlook ×1
registration ×1
servlets ×1
smtp ×1
spring ×1
tomcat ×1
web ×1