如何在发送电子邮件时禁用控制台上的java邮件跟踪
以下是我发送电子邮件的代码:如何在发送电子邮件时禁用控制台上的java邮件跟踪,java,debugging,email,trace,output,Java,Debugging,Email,Trace,Output,以下是我发送电子邮件的代码: 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);
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
}
}
public void sendMail()
{
尝试
{
//康涅西翁酒店
Properties props=新属性();
props.put(“mail.transport.protocol”、“smtp”);
props.put(“mail.smtp.host”,smtp\u主机名);
props.put(“mail.smtp.port”,smtp\u端口);
props.put(“mail.smtp.auth”,“true”);
Authenticator auth=新的SMTPAuthenticator();
会话mailSession=Session.getDefaultInstance(props,auth);
传输=mailSession.getTransport();
mimessage message=新mimessage(mailSession);
Multipart Multipart=新的mimemmultipart(“备选”);
BodyPart文本=新的MimeBodyPart();
setContent(mailMessage,“text/html;charset=UTF-8”);
multipart.addBodyPart(文本);
message.setContent(多部分);
if(friendlyName!=null){
//字符串send=friendlyName+“”;
message.setFrom(新的Internet地址(发件人,friendlyName));
}否则{
message.setFrom(新的Internet地址(发件人));
}
消息。设置主题(主题“UTF-8”);
message.addRecipient(message.RecipientType.TO,
新的互联网地址(接收者);
transport.connect();
transport.sendMessage(message,message.getRecipients(message.RecipientType.TO));
transport.close();
}捕获(例外e){
//TODO:处理异常
}
}
当我发送电子邮件时,我在控制台(或catalina.out)上得到以下输出:
>>>>>发送数据EHLO xxxxxx它与
setDebug
方法无关我使用的是javax.mail库的1.40版本,遇到了完全相同的问题。这里有一个
System.out.println(“>>>>>>发送数据”+data+”在春天,这对我来说很有效:
<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>
smtp
假的
真的
假的
使用版本1.4.7+进行测试时,您已经尝试了session.setDebug(false)
?或者您是使用属性-Dmail.debug=true
?-session.setDebug(false)启动应用程序的?session.setDebug(false)不能解决我的问题。我在我的tomcat应用程序中没有使用-Dmail.debug=true。props.put(“mail.debug”,“false”);props.put(“mail.debug”,“false”);不工作。调试输出与显示的输出不同。