下面是我发送电子邮件的代码:
public void sendMail()
{
try
{
// Propiedades de la conexión
Properties props = new Properties();
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.host", SMTP_HOST_NAME);
props.put("mail.smtp.port", SMTP_PORT);
props.put("mail.smtp.auth", "true");
Authenticator auth = new SMTPAuthenticator();
Session mailSession = Session.getDefaultInstance(props, auth);
Transport transport = mailSession.getTransport();
MimeMessage message = new MimeMessage(mailSession);
Multipart multipart = new MimeMultipart("alternative");
BodyPart text = new MimeBodyPart();
text.setContent(mailMessage,"text/html; charset=UTF-8");
multipart.addBodyPart(text);
message.setContent(multipart);
if(friendlyName != null){
//String send = friendlyName + " <" + sender + ">";
message.setFrom(new InternetAddress(sender, friendlyName));
}else{
message.setFrom(new InternetAddress(sender));
}
message.setSubject(subject,"UTF-8");
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(receiver));
transport.connect();
transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
transport.close();
}catch (Exception e) {
// TODO: handle exception
}
}
当我发送电子邮件时,我会在控制台(或catalina.out)上得到以下输出:
>>>>发送数据EHLO XXXXXX<<<<<<
>>>>发送数据身份验证登录<<<<<<
>>>>发送数据xxxxxxxxxxxxxxxxxxxxxxxxxx<<<<<
>>>>发送数据XXXXXXXXXXXXXXXXXX<<<<<
>>>>发送数据邮件的来源:<<<<<
>>>>将数据RCPT发送到:<<<<<<
>>>>发送数据数据<<<<<
>>>>>发送数据<<<<<<
>>>>正在发送数据。<<<<<
>>>>发送数据退出<<<<<<
如何禁用此输出?我的catalina.out长得太快了。Setdebug(false)方法不能解决我的问题。
它与setdebug
方法无关!
我使用的是javax.mail库的1.40版本,遇到了完全相同的问题。在SMTPTransport
类中有这段system.out.println(“>>>>>发送数据”+data+“<<<<<”);
代码行,它与调试日志无关,并且总是将其数据写入控制台中!
只需获取库的1.5版本,问题就会得到解决。
您可以从Maven Repository中获取它。
在spring,这对我很管用:
<property name="javaMailProperties">
<props>
<prop key="mail.transport.protocol">smtp</prop>
<prop key="mail.smtp.auth">false</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.debug">false</prop>
</props>
</property>
使用版本1.4.7+进行了测试
问题内容: 我已经使用JMS在Web应用程序中成功发送了电子邮件,但是结果仅以纯文本显示。我希望内容能够显示html。我该怎么做?这大致就是我所拥有的: 问题答案: 根据Javadoc,在需要时,这些设置将默认的mime类型设置为。而是使用代替。
我已经成功创建了PDF文件,它存储在内部storage/app_name/files/xyz.PDF中,现在我只想在Gmail的附件中分享那个PDF......更新:在调试器中获取错误“源代码与字节码不匹配” 正在获取异常文件:///storage/emulated/0/storage/emulated/0/android/data/com.example.app_name/files/s.pdf
问题内容: 我正在尝试使用Java发送电子邮件: 我收到错误消息: 此代码可以发送电子邮件吗? 问题答案: 户名+密码不再是推荐的解决方案。这是因为 我尝试了此操作,Gmail向该代码中用作用户名的电子邮件发送了一封电子邮件,其中说我们最近阻止了你的Google帐户的登录尝试,并将我定向到此支持页面:support.google.com/accounts/answer/6010255因此它看起来很
我正试图通过console/cron使用CakePHP 1.3电子邮件组件发送电子邮件。电子邮件被发送出去了 通过表单完成后,电子邮件将与附件一起成功发送。我已经尝试添加了$this- 我的代码如下: 所以,基本上我的问题是,当我通过控制台/cron运行外壳脚本时,我如何获得附件发送的电子邮件。 提前谢谢你。
问题内容: 我正在使用sendgrid发送电子邮件,并且使用以下代码可以正常工作,但没有附件。 但是我需要发送附件,因此我搜索了github源和Web文档API,由于某种原因,没有javadocs,但是有一个示例GitHub sendgrid, 所以我一直在尝试直到它起作用为止,我缩小了一些异常和响应代码,起初我是被禁止的未经授权,最好是响应202,表示有效且已排队(在此处检查),这是我的代码发送
当使用Azure Logic App Office 365 Outlook连接器-“发送电子邮件”时,是否有方法确定电子邮件是否已实际送达收件人,以便根据失败采取特定措施? 我在连接器中使用了无效的电子邮件ID,但发送电子邮件的操作显示为成功,即使电子邮件未送达。为了确认这是一个无效的电子邮件ID,我从Outlook向该无效电子邮件ID发送了电子邮件,并收到了一封未送达的电子邮件。 在“发送电子邮