标签: james

Apache James学习资源

该计划是创建一个Apache James学习资源列表,涉及从设置到使用Java的API的各个方面.

如果您阅读本文并且掌握了一些很棒的教程,请放一两行.

我会先说

java apache jakarta-mail james

11
推荐指数
1
解决办法
1491
查看次数

有人知道Java的邮件(SMTP)交付库吗?

我想发送邮件而不用打扰用于传递的SMTP服务器.

所以JavaMail API对我不起作用,因为我必须指定要连接的SMTP服务器.

我希望图书馆通过查询邮件地址域的MX记录,自行查找哪个SMTP服务器负责哪个电子邮件地址.

我正在寻找像阿司匹林这样的东西.不幸的是我不能使用Aspirin本身,因为开发已经停止了2004,并且库无法正确地与现代垃圾邮件强化服务器通信.

詹姆斯的可嵌入版本可以完成任务.但我还没有找到关于这是否可行的文件.

或者有没有人知道我可以使用的其他库?

java email smtp james

10
推荐指数
2
解决办法
7351
查看次数

NoSuchAlgorithmException:算法HmacSHA1不可用

看下面的java行:

Mac.getInstance("HmacSHA1");
Run Code Online (Sandbox Code Playgroud)

如果我把它放在一个简单的测试程序中,它在我的服务器上运行没有问题.但是,如果我在容器中使用此行,我会得到

java.security.NoSuchAlgorithmException: Algorithm HmacSHA1 not available
  at javax.crypto.Mac.getInstance(DashoA13*..)
Run Code Online (Sandbox Code Playgroud)

在这两种情况下都使用相同的JDK安装.

谷歌搜索了一下后,我设法通过做两件事来让它工作:

  1. sunjce_provider.jar$JAVA_HOME/jre/lib/ext容器的lib目录复制.
  2. 将以下行添加到我的代码中:

    java.security.Security.addProvider(new com.sun.crypto.provider.SunJCE());

具体来说,这发生在Apache James mailet中,但我很确定这与JVM选项有关.这是它使用的启动脚本.

虽然我最终得到了它的工作,但解决方案感觉太过黑了,不适合.我会很感激对正在发生的事情的解释,以及更"正确"的解决方案.

相关问题:使用Java加密导致NoSuchAlgorithmException.但是,在这种情况下,我非常确定应该支持开箱即用的HmacSHA1算法.作为证据,这在测试程序中没有问题.

java cryptography jce james

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

如何使用DKIM签署Javamail

没有外部库,是否有图书馆或方法?我使用apache james作为我的邮件服务器,目前发送这样的电子邮件:

public void sendMessage(String to, String subject, String content) {
    MimeMessage message = new MimeMessage(session);
    try {
        message.addRecipients(Message.RecipientType.TO, to);
        message.setFrom(new InternetAddress(from));
        message.setSubject(subject);
        message.setContent(content, "text/html; charset=utf-8");
        Transport.send(message);
    } catch (MessagingException e) {
        e.printStackTrace();
    }       
}
Run Code Online (Sandbox Code Playgroud)

但我想事先用DKIM与电子邮件签名.我知道我需要在james服务器上实现DKIM签名并计划使用jDKIM来实现这一点,我也理解我需要使用像www.port25.com这样的东西来创建密钥,但是如何在java之前实际签署电子邮件我发了出去?

java email jakarta-mail james dkim

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

通过Javamail在MySql表中存储数据失败

如何将我通过javamail编写的消息存储到MySQL表中?我已经配置james服务器配置文件连接到MySQL服务器(数据源元素名称为maildb),我将<inboxRepository>James服务器配置文件中的元素更改为

<inboxRepository>
  <repository destinationURL="db://maildb/spammer/"
    type="MAIL"/>      
</inboxRepository>
Run Code Online (Sandbox Code Playgroud)

但是我仍然无法从MySql中的邮件数据库中的垃圾邮件发送者表的收件箱列中读取邮件.

这是我的javamail类:

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;

public class mail{

  public static void main(String[] argts){
    String to = "red@localhost";
    String from = "blue@localhost";
    String subject = "jdk";
    String body = "Down to wind";

    if ((from != null) && (to != null) 
      && (subject != null)  && (body != null)) 
    // we have mail to send
    {
      try {
        Properties props = new Properties();

        props.put("mail.host", "127.0.0.1 ");
        props.put("mail.smtp.auth","true"); …
Run Code Online (Sandbox Code Playgroud)

java mysql jakarta-mail james

8
推荐指数
1
解决办法
1040
查看次数

无法运行Apache James

我下载了Apache James邮件服务器Apache-james-3.0-beta4-app.我尝试通过单击以下目录中的run.bat文件在Windows 7 Ultimate上运行它

C:\Users\Jack\Desktop\New folder\Servers\MailServer\apache-james-3.0-beta4-app\apache-james-3.0-beta4\bin.
Run Code Online (Sandbox Code Playgroud)

命令提示符启动了一段时间后它就消失了.我无法在命令提示符下读取错误,因为它太快了.任何建议将不胜感激.当我在命令提示符下运行telnet命令时,它显示该命令无法识别.我不知道如何在Windows中打开它.

java jakarta-mail james

6
推荐指数
1
解决办法
3148
查看次数

Postfix 与 Apache James

两者有区别吗?他们执行相同的任务吗?

我有点困惑,因为我对电子邮件服务器不太熟悉,但我正在尝试构建一个主要用于发送事务电子邮件的服务器,Java并且关于Apache James. 目前我确实可以正常运行它,但是我在DKIM正常使用它时遇到了问题,这种挫败感让我考虑进行更改。

那么……Postfix合适的Apache James替代品吗?Postfix除了从 发送电子邮件之外,我还需要其他什么吗Java

java postfix-mta james

5
推荐指数
1
解决办法
3167
查看次数

用jdk 1.7启动Apache James

我曾尝试使用Java jdk 1.7u17在Linux Mint 64bit(Debian)上运行apache-james-3.0-beta4服务器,但由于JAXB库错误,它无法正常工作.根据文档,应下载不同的jar文件(http://jaxb.java.net/2.1.13/JAXB2_20100510.jar)并放入conf/lib目录.我做到了,但问题仍然存在.当我切换到jdk 1.6时,一切都开始正常工作了.

有人解决了这个问题吗?

这是堆栈跟踪的一部分:

INFO  19:45:24,669 | org.apache.james.container.spring.context.JamesServerApplicationContext | Refreshing org.apache.james.container.spring.context.JamesServerApplicationContext@11641923: startup date [Mon Apr 22 19:45:24 CEST 2013]; root of context hierarchy
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Failed to create the JAXB binder; nested exception is javax.xml.bind.JAXBException: Provider com.sun.xml.internal.bind.v2.ContextFactory could not be instantiated: com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
Class has two properties of the same name "outputs"
        this problem is related to the following location:
                at public java.util.List org.apache.camel.model.ResequenceDefinition.getOutputs()
                at org.apache.camel.model.ResequenceDefinition
        this problem …
Run Code Online (Sandbox Code Playgroud)

java james

5
推荐指数
1
解决办法
5059
查看次数

Java MimeMessage 到带有所有附件的 eml 文件

我的JAMES邮件服务器收到MimeMessage了一封邮件。我想创建一个完全转储消息的 eml 文件。我尝试使用MimeMessage的方法 - 结果文件仅包含电子邮件的文本正文。附件不会写入 eml 文件。我的代码是这样的writeTo

String logFileName = "dumpNow.eml";
incomingEmail.getMessage().writeTo(new FileOutputStream(new File(logFileName)));
Run Code Online (Sandbox Code Playgroud)

我在转储中没有得到任何多部分内容。有没有可用的工具来做到这一点?Apache Mimeutils也给出了相同的结果。

email jakarta-mail eml james mime-message

5
推荐指数
1
解决办法
2556
查看次数

无法将消息追加到javax.mail中的文件夹

我正在设法保存包含正文,主题等的简单消息。但是,我无法保存多部分消息。我之前和之后都登录了appendMessages,但是注意到第二个日志不存在。有趣的是,我一点儿也没有例外。我绝对不知道这里出了什么问题。

这是我的Java代码:

    Store store = null;
    Folder folder = null;
    String folderName = "sentbox";
    try {
        Session session = prepareSession(MailProtocols.IMAP, kid);
        store = session.getStore("imap");
        store.connect(myHost, user.getLogin(), user.getPassword());
        folder = store.getFolder(folderName);

        if (folder == null || !folder.exists()) {
            folder.create(Folder.HOLDS_MESSAGES);
        }
        folder.open(Folder.READ_WRITE);
        MimeMessage mimeMessage = new MimeMessage(session);
        Address[] to = null;
        if(msg.getTo() != null) { // msg is an instance of custom message class, nothing special there
            int msgSize = msg.getTo().size();
             to = new InternetAddress[msgSize];
            for (int i = 0; …
Run Code Online (Sandbox Code Playgroud)

java james javax.mail

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

Apache James Spring 发行版未启动

目前正在试用Apache James邮件服务器。在我下载了当前的二进制发行版 3.4.0(“用于 Spring 布线”)后,运行时出现以下行为:

bin\james.bat
Run Code Online (Sandbox Code Playgroud)

日志(为了可读性而格式化):

wrapper  | --> Wrapper Started as Console
wrapper  | Launching a JVM...
jvm 1    | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1    |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
(...)
jvm 1    | ERROR 21:30:39,649 |
           org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor      
           Unable to init mailet WithPriority
jvm 1    | org.apache.mailet.MailetException: 
           Could not load mailet (WithPriority) (java.lang.IllegalArgumentException: 
           'priority' init parameter is compulsory)
(...)
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?

java spring james

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

错误:在发布模式下运行时,不支持“AndroidFixManifests”参数

错误:从程序集加载的“XamarinDownloadArchives”任务不支持“AndroidFixManifests”参数:Xamarin.Build.Download,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null,路径为:
C:\Users\GauravPatil。 nuget\packages\xamarin.build.download\0.11.3\buildTransitive\Xamarin.Build.Download.dll。
验证该参数是否存在于任务中、<UsingTask>指向正确的程序集,并且它是 IMS.Mobile.Droid 中的可设置公共实例属性

我正在尝试在发布模式下运行应用程序。

asp.net james xamarin.android xamarin.forms

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

如何在Apache James中为用户更改密码


我想将密码更改为james服务器的特定用户。
谢谢

email passwords james

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