3

Ant 任务发送电子邮件 - 邮件类型不支持嵌套的“附件”元素。

我正在使用 maven 使用 TestNG 运行测试自动化脚本。我正在使用 maven antrun 插件在附件中发送带有测试 NG 报告的电子邮件。

不幸的是,我无法发送带有附件的电子邮件并收到错误消息

嵌入式错误:mail> 类型不支持嵌套的“附件”元素。

这是我的 pom.xml

     <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.1</version>
            <executions>
                <execution>
                    <configuration>
                        <tasks>
                            <mail
                                    tolist=""
                                    from=""
                                    subject="Report"
                                    mailhost=""
                                    mailport=""
                                    user=""
                                    password="">
                                <message>Please find the Attached automation report.
                                      Note: This is an automatic generated e-mail
                                </message>
                                <attachments>
                                    <fileset dir="target">
                                        <include name="**/*.html"/>
                                    </fileset>
                                </attachments>
                            </mail>
                           </tasks>
                    </configuration>
                    <phase>test</phase>
                    <id>SentEmail</id>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin> 
4

2 回答 2

1

您需要将 java 激活框架和 java 邮件 jar 添加到您的类路径中。它们不附带 Ant 或 Java,可以在这里下载

下载 2 个 jar,将它们添加到您的 ant 类路径中,它应该可以正常工作。

顺便说一句,Ant 文档在邮件任务的手册页上告诉了您这一点。

于 2012-11-14T17:55:11.610 回答
0

Maven邮递员插件对我来说很好用。谢谢你的帮助。

  <plugin>
            <groupId>ch.fortysix</groupId>
            <artifactId>maven-postman-plugin</artifactId>
            <executions>
                <execution>
                    <id>send a mail</id>
                    <phase>test</phase>
                    <goals>
                        <goal>send-mail</goal>
                    </goals>
                    <inherited>false</inherited>
                    <configuration>
                        <from>xxxxxxxx</from>
                        <subject>Regression Report</subject>
                        <failonerror>true</failonerror>
                        <mailhost>xxxxx</mailhost>
                        <mailport>xxx</mailport>
                        <mailuser>xxxxxx</mailuser>
                        <mailpassword>xxxxx</mailpassword>
                        <htmlMessage>Please find the Attached automation report.
                            Note: This is an automatic generated e-mail</htmlMessage>
                        <receivers>
                            <receiver>email@email.com</receiver>
                        </receivers>
                        <fileSets>
                            <fileSet>
                                <directory>${basedir}/target</directory>
                                <includes>
                                    <include>**/emailable-report.html</include>
                                   <!-- <include>**/*.zip</include> -->
                                </includes>
                            </fileSet>
                        </fileSets>
                    </configuration>
                </execution>
            </executions>
        </plugin>
于 2012-11-15T09:59:28.853 回答