Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么方法Message.getFrom()返回数组?_Java_Email_Jakarta Mail - Fatal编程技术网

Java 为什么方法Message.getFrom()返回数组?

Java 为什么方法Message.getFrom()返回数组?,java,email,jakarta-mail,Java,Email,Jakarta Mail,Javamail API有一个按摩类,它有一个getFrom()方法,您可以在这里找到: 关于这种方法有两个问题: 为什么它返回一个地址对象数组而不是一个地址对象?我想不出一条消息是由多个发件人发送的 文档说,在某些实现中,它可能与实际发送消息的实体不同。有这样一个实施的例子吗 在标准SMTP中,允许多个发件人地址 3.6.2。发起人字段 邮件的“发件人”字段包括“发件人”字段、“发件人”字段(如果适用)和“回复”字段(可选)。“发件人”字段由字段名“发件人”和一个或多个邮箱规范的逗号分隔列表

Javamail API有一个按摩类,它有一个getFrom()方法,您可以在这里找到:

关于这种方法有两个问题:

  • 为什么它返回一个地址对象数组而不是一个地址对象?我想不出一条消息是由多个发件人发送的
  • 文档说,在某些实现中,它可能与实际发送消息的实体不同。有这样一个实施的例子吗 在标准SMTP中,允许多个发件人地址

    3.6.2。发起人字段

    邮件的“发件人”字段包括“发件人”字段、“发件人”字段(如果适用)和“回复”字段(可选)。“发件人”字段由字段名“发件人”和一个或多个邮箱规范的逗号分隔列表组成。如果“发件人”字段在邮箱列表中包含多个邮箱规范,则包含字段名“发件人”和单个邮箱规范的发件人字段必须出现在邮件中。在任何一种情况下,都可能包含一个可选的回复字段,其中包含字段名“回复”和一个或多个地址的逗号分隔列表

    from=“from:”邮箱列表CRLF

    看看迈克尔·汉普顿对这个问题的回答:

    正如他在回答中提到的:

    实际上给出了这种用法的一个例子。它要求 发件人:标头在使用时必须存在

    A.2.7。委员会成员的代理人

             George's secretary sends out a message which was authored
        jointly by all the members of a committee.  Note that the name
        of the committee cannot be specified, since <group> names  are
        not permitted in the From field.
    
            From:   Jones@Host,
                    Smith@Other-Host,
                    Doe@Somewhere-Else
            Sender: Secy@SHost
    
    乔治的秘书发出了一条自己写的信息
    由一个委员会的所有成员共同组成。请注意,名称
    无法指定委员会的名称,因为名称是
    不允许在From字段中使用。
    发件人:Jones@Host,
    Smith@Other-主持人,,
    Doe@Somewhere-否则
    发件人:Secy@SHost
    

    我不知道他们是不是这样说的,但是如果你伪造了一封要发送的邮件,那么你在邮件的发件人头中放置的内容可能与你使用的SMTP凭据或
    邮件发件人
    命令非常不同,因此会造成类似于你的问题2的情况。