我已经在Simple Java Mail wiki上阅读了本教程,并且我已经下载了所有必需的库(Log4j,JavaMail API,激活框架),但是当我尝试运行我的程序时出现此错误:
log4j:WARN找不到logger(org.codemonkey.vesijama.Mailer)的appender。 org.codemonkey.vesijama.MailException:通用错误:异常读取响应 log4j:WARN请正确初始化log4j系统。
这是我使用的源代码:
import javax.mail.Message.RecipientType;
import org.codemonkey.vesijama.Email;
import org.codemonkey.vesijama.MailException;
import org.codemonkey.vesijama.Mailer;
import org.apache.log4j.*;
public class testSend {
final Email email = new Email();
static Logger log = Logger.getLogger(mailmailan.class);
public testSend{
try{
BasicConfigurator.configure();
email.setFromAddress("test", "XXXXX@gmail.com");
email.setSubject("hey");
email.addRecipient("hai", "XXXXXXX@yahoo.com", RecipientType.TO);
email.setText("We should meet up!");
email.setTextHTML("<b>We should meet up!</b>");
email.addAttachment("output.xls", odfDatasource);
new Mailer("smtp.gmail.com", 465, "XXXXXXXX@gmail.com", "XXXXXX").sendMail(email);
}
catch(MailException me)
{
System.out.println(me);
}
}
}
我也尝试使用端口587,虽然我遇到了同样的错误。
提问:它还说可以添加附件。有没有人有我如何附加.xls
文件的代码示例。
编辑:我已成功发送邮件(已将log4j.xml添加到每个文件夹),但我仍然无法使用addAttachment
。我还更新了我的源代码。
答案 0 :(得分:1)
您遇到的第一个错误与无法在类路径中找到log4j.xml文件以配置log4j日志记录有关。
解决该问题应该会为您提供更多日志记录,以帮助您解决任何其他问题。
您需要创建一个log4j配置文件来查看输出。
谷歌搜索“简单的log4j.xml”很快找到了这个例子:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.SimpleLayout"/>
</appender>
<category name="com.something.something.you.want.to.see.debug">
<priority value="debug"/>
</category><root><priority value="info"/>
<appender-ref ref="ConsoleAppender"/>
</root>
</log4j:configuration>
这会记录所有内容的信息消息,并调试指定类别中指定的内容(我称之为“com.something.something.you.want.to.see.debug”)通常此名称与您的包结构相同。
搜索log4j教程以了解更多log4j配置选项。