通过Jira邮件创建事务和备注
管理员可以配置 JIRA 来接收和处理电子邮件。JIRA 可以从许可的用户处接收电子邮件,以自动创建事务或向现有事务添加评论和附件。
如果您寻求的是客服中心解决方案,更实用的做法是使用 JIRA Service Desk,而不是为此设置 JIRA Core 或 JIRA Software。
JIRA Service Desk 使用内置的处理程序接收和处理来自电子邮件的事务请求。JIRA Service Desk 中创建的事务不需要发件人具备许可证即可对事务进行创建、查看、评论、添加附件或转换。了解有关使用 JIRA Service Desk 接收电子邮件请求的更多信息。
本页内容:
配置从电子邮件创建事务或评论的方式
JIRA 中的事务和评论可由以下一种内容生成:
- 发送到 POP 或 IMAP 邮件服务器上某个账户的电子邮件消息,或者
- 由外部邮件服务生成并写入到文件系统的消息。
请注意,要执行以下所有步骤,您必须以具有 JIRA Administrators 全局权限的用户身份登录。
第一步:配置邮件服务器/服务
POP 或 IMAP 电子邮件消息
要设置从电子邮件创建事务和评论的方式,您需要针对 POP 或 IMAP 邮件服务器创建一个 JIRA 可访问的邮件账户 - 通常情况下,为每个 JIRA 项目创建一个邮件账户。例如,对于“ABC”项目,您可以建立一个帐户 abc-issues@example.com
JIRA 将定期扫描此邮件账户接收的新电子邮件消息(通过服务),并为找到的所有电子邮件相应地创建事务或评论(通过邮件处理程序)。
JIRA 的邮件处理程序也能为以前未出现过的发件人创建新用户账户(可选)。请参见创建新事务或向现有事务添加评论一节,了解详细信息。
请注意,如果您在使用外部用户管理,则不能执行此操作。
在 POP 或 IMAP 邮件服务器上创建了邮件账户之后,即可配置 JIRA 从该邮件服务器账户接收电子邮件。
提示:您可以配置 JIRA 的邮件服务器,以便电子邮件通知的收件人可以只需回复这些消息并将其回复的正文作为评论添加到相关事务。要执行此操作,只需将 JIRA 的 SMTP 邮件服务器中的 From address 设置为要监控的 POP 或 IMAP 邮件服务器账户的发件人地址。在大多数情况下,这意味着 JIRA 的 SMTP 和 POP 或IMAP 邮件服务器使用了相同的邮件账户。请参见下文,以了解有关如何配置 JIRA 来处理这些电子邮件回复的详细信息。
文件系统消息
要根据由外部邮件服务写入到文件系统的消息创建事务和评论,您的外部邮件服务必须能够在 JIRA 主目录的 import/mail
子目录中写入这些消息。
外部邮件服务与上文中的 POP 或 IMAP 服务非常类似,区别在于,前者的电子邮件消息不是从邮件账户读取的,而是从磁盘上的目录读取的。外部邮件服务是有用的,因为这种服务消除了与匿名邮件账户相关的潜在安全风险。您只需对外部邮件服务进行配置,将传入电子邮件消息转储到 JIRA 主目录的 import/mail
子目录中,系统会定期扫描此目录。
另外请注意,JIRA 要求每个文件仅有一条消息,因此需要将您的外部邮件服务配置为生成此类输出形式。
注意 — JIRA 对邮件服务器/服务处理消息的方式如下:- 对于邮件账户,JIRA 扫描您的邮件账户“Inbox”文件夹接收的电子邮件消息。但是,对于 IMAP 邮件服务器,您可以指定邮件账户中的其他文件夹。
- 如果 JIRA 成功处理了一条消息,JIRA 会从邮件账户(对于 POP 或 IMAP 邮件服务器)或文件系统(即,对于文件系统消息)中删除此消息。
- 如果 JIRA 没有成功处理一条消息,此消息仍将保留在邮件账户或文件系统中。
第二步:配置邮件处理程序
将 JIRA 配置为从邮件服务器/服务接收消息之后,即可将 JIRA 配置为通过“邮件处理程序”处理这些消息。
选择 > System。- 选择 Mail > Incoming Mail 打开“Incoming Mail”页面。
- 在 Mail Handlers 区域单击 Add incoming mail handler 按钮(或者现有邮件处理程序旁边的 Edit 链接),打开 Mail Handler 对话框。
- 指定一个 Name,用于描述您的邮件处理程序将执行的操作 — 例如“Create issues or comments from Example Company's IMAP mail server”。
- 选择您在第一步中配置的邮件 Server(见上文)。此选项可以是 POP 或 IMAP 邮件服务器,也可以是 Local Files 选项(对于将邮件写入文件系统的外部邮件服务)。
- 指定邮件处理程序运行时间之间的 Delay(以分钟为单位的间隔)。这有效地定义了 JIRA 扫描您在上一步中指定的 Server 的频率。
- 从下拉列表中选择邮件 Handler 的类型。有关更多信息,请参见下文的邮件处理程序章节。
- 如果在 Server 字段中选择 IMAP 邮件服务器或 Local Files 选项,则 Handler 下拉列表下方会显示 Folder Name 字段:
- 对于 IMAP 邮件服务器,如果希望邮件处理程序从邮件账户的“Inbox”以外的文件夹扫描新邮件,请在此处指定该文件夹的名称。
- 对于 Local Files 选项,如果要将文件邮件写入到 JIRA 主目录的
import/mail
子目录的子目录中,请在此处指定子目录结构(在import/mail
中)。
- 单击 Next 继续指定您在上文所选邮件 Handler 特定的其余选项。有关更多信息,请参见下文的邮件处理程序章节。
- (可选)单击 Test 按钮以测试您的邮件处理程序。如果您使用“Local Files”作为服务器,请将包含“Subject:”行的已保存电子邮件复制到配置的目录。JIRA 会在分析文件后删除此文件,或记录相关消息来说明无法创建事务的原因。作为最低配置,您可能必须指定 project、issuetype 和 reporterusername 属性。
示例电子邮件文件类似以下内容:To:jira@example.com
From:some-jira-user@example.com
Subject: (TEST-123) issue summary title here
Body of the email goes here
- 单击 Add / Save 按钮以保存您的邮件处理程序。
注意 — JIRA 邮件处理程序和服务之间的关系如下:
- JIRA 邮件处理程序是 JIRA 服务的一部分。因此,您创建邮件处理程序时,其服务将显示为“Services”页面的条目。
- 请注意,只能通过“Mail Handlers”页面编辑邮件处理程序(如上文所述)。
- 在“Mail Handlers”页面上,单击与邮件处理程序相关联的“Delete”链接将删除此处理程序。因为邮件处理程序是服务的一部分,所以如果您在“Services”页面上删除邮件处理程序的服务,则其相关处理程序也将从“Mail Handlers”页面中删除。
邮件处理程序
JIRA 提供以下默认邮件处理程序:
有关这些邮件处理程序如何在 JIRA 中创建事务和评论的更多信息,请参见事务/评论创建(下文)。
另请参见邮件处理程序的方便提示(下文)了解有关调整邮件处理程序以允许 JIRA 处理以下类型的电子邮件的提示:
- 无 JIRA 用户账户的发件人发送的电子邮件。
创建新事务或将评论添加到现有事务
此邮件处理程序创建新事务或将评论添加到现有事务。如果主题包含事务关键字,则将邮件作为评论添加到此事务。如果未发现任何事务关键字,则在默认项目中创建新事务。
配置“创建新事务或将评论添加到现有事务”邮件处理程序的步骤:
- 如果还没有配置过邮件处理程序,请开始配置邮件处理程序(见上文)。
在 Create a new issue or add a comment to an existing issue 对话框中,填写以下字段/选项:
Project 指定此处理程序为其创建新事务的默认项目的项目关键字 — 例如
JRA
。注意:
- 此字段只与事务创建相关,而与事务评论无关。
- 如果电子邮件在其主题行中包含事务关键字,并且 JIRA 安装中存在此事务关键字,则此处理程序会将电子邮件内容添加为此事务的评论,无论此事务属于哪个项目。
Issue Type 选择新事务的默认事务类型。 Strip Quotes 如果选中此复选框,则在将电子邮件正文内容添加到 JIRA 事务的评论之前,从正文中删除引用的文本(例如以前的电子邮件回复)。 Catch Email Address 如果在此字段中指定一个收件人,则只会处理 To:、Cc:、Bcc: 行包含此字段指定的收件人的电子邮件,例如
issues@mycompany.com
在此处指定地址后,将忽略 To:、Cc:、Bcc: 行中不包含 Catch Email Address 地址的所有电子邮件。如果多个邮件服务(如每个都在单独的 JIRA 项目中创建事务)的同一邮件账户有多个别名(如
foo-support@example-co.com
和bar-support@example-co.com
都是support@example-co.com
的别名),则此选项有用。注意:实际上,此选项很少有用,不应与更常用的 Default Reporter 混淆。对于每个邮件处理程序您只能指定一个 Catch Email Address 和一个事务类型。
此外,JIRA 7.0.0 和 JIRA 7.0.1 中存在已知缺陷,这意味着将电子邮件发送至多个别名时,用于在不同项目中创建事务的多个电子邮件处理程序将无法正确处理电子邮件。JIRA 7.0.2 修复了此缺陷。有关更多信息,请参见 Unable to render Jira issues macro, execution error. 。
Bulk 此选项只影响“bulk”电子邮件,此类邮件的标头可能将 Precedence:字段设置为 bulk,或将 Auto-Submitted 字段设置为 no。此类邮件通常由自动化服务发送。收到此类电子邮件时,将根据您选择的选项执行以下操作:
- 忽略电子邮件且不采取任何操作。
- 转发电子邮件(即转发到 Forward Email 文本字段中设置的地址)。
- 永久删除电子邮件。
通常,最好设置 bulk=forward 并设置“Forward Email”地址,以防止在 JIRA 和另一自动化服务(如另一 JIRA 安装)之间出现邮件循环。
Forward Email 如果指定此字段,则当此邮件服务无法处理其接收到的电子邮件时,就会向此字段中指定的电子邮件地址转发一个表明此问题的电子邮件。注意:必须配置 SMTP 邮件服务器,此选项才能正常运行。
Create Users 如果收到的电子邮件的 From: 字段包含的地址与现有 JIRA 用户账户关联的地址不匹配,而您希望 JIRA 对所有此类电子邮件创建新用户账户,请选中此复选框。这样即可使电子邮件创建者收到事务的后续更新通知,要实现这一点,可以配置相关项目的通知模型,以便向 Reporter 发出更新通知。
这些新建 JIRA 用户账户的用户名和电子邮件地址将是接收的这些邮件的 From: 字段中指定的电子邮件地址。这些新 JIRA 用户的密码是随机生成的,并向这些用户发送一封电子邮件,告知他们有关其新 JIRA 用户账户的信息。
通过此方法创建的用户将被添加至默认 JIRA 应用的默认群组(因此占用此应用的许可证)。请参见Jira 管理群组 Group文档。注意:此选项与下面的 Default Reporter 字段选项不兼容,因此选择 Create Users 选项将隐藏 Default Reporter 选项。
Default Reporter 指定默认报告人的用户名,如果任何收到的电子邮件的 From: 字段中的电子邮件地址与现有 JIRA 用户关联的地址不匹配,则将使用此用户名 — 例如,类似
emailed-reporter
的 JIRA 用户名注意:
- 如果选中 Create Users 复选框,则此选项将不可用。
- 请确保在此字段中指定的用户对于相关 Project(上文指定)具有 Create Issues 项目权限,并对于此邮件处理程序要添加评论的其他相关项目具有 Create Comments 项目权限。
- 创建事务并指定此选项时,电子邮件的 From: 字段地址会附加在事务 Description 字段末尾的简短消息中,以便识别发送人。
Notify Users 对于由上述 Create Users 选项创建账户的用户,如果您不希望 JIRA 向其发送电子邮件通知,请清除此复选框。
注意:此选项只在选中 Create Users 复选框的情况下可用。
CC Assignee 如果您希望 JIRA 自动将创建的事务指派给以下 JIRA 用户,请选中此复选框:
- 该用户的电子邮件地址(使用其 JIRA 账户注册)与收到的电子邮件的 To:、Cc:和 Bcc: 字段中出现的第一个匹配地址相匹配。
- 并且,该用户对于相关 Project(上文指定)具有 Assignable User 项目权限。
CC Watchers 如果创建的事务中,JIRA 用户的电子邮件地址(使用其 JIRA 账户注册)与收到的电子邮件的 To:Cc:或 Bcc: 字段中出现的地址相匹配,而您希望 JIRA 自动将这些用户添加到该事务,请选中此复选框。
请注意,在创建事务时,对于由 Create Users 选项(见上文)创建的新 JIRA 用户,此 CC Watchers 选项不能将此类用户也添加到事务关注者列表。JIRA 用户必须已经存在于 JIRA 的用户库中,且必须拥有电子邮件地址。
- 测试和保存您的邮件处理程序(见上文)。
从非引用的电子邮件正文添加评论
此邮件处理程序创建评论,但只使用电子邮件正文的“非引用”行。引用行是以“>”或“|”符号开头的任何行,不会将此类文本行添加到评论。要添加评论的事务是根据电子邮件主题中找到的第一个事务关键字来选择的。评论的作者采用的是电子邮件的 From: 字段的地址。
配置“从非引用的电子邮件正文添加评论”邮件处理程序的步骤:
- 如果还没有配置过邮件处理程序,请开始配置邮件处理程序(见上文)。
在 Add a comment from the non quoted email body 对话框中,填写以下字段/选项:
Catch Email Address 如果在此字段中指定一个收件人,则只会处理 To:、Cc:、Bcc: 行包含此字段指定的收件人的电子邮件,例如 issues@mycompany.com
在此处指定地址后,将忽略 To:、Cc:、Bcc: 行中不包含 Catch Email Address 地址的所有电子邮件。如果多个邮件服务(如每个都在单独的 JIRA 项目中创建事务)的同一邮件账户有多个别名(如
foo-support@example-co.com
和bar-support@example-co.com
都是support@example-co.com
的别名),则此选项有用。注意:实际上,此选项很少有用,不应与更常用的 Default Reporter 混淆。对于每个邮件处理程序您只能指定一个 Catch Email Address 和一个事务类型。
Bulk 此选项只影响“bulk”电子邮件,此类邮件的标头可能将 Precedence:字段设置为 bulk,或将 Auto-Submitted 字段设置为 no。此类邮件通常由自动化服务发送。收到此类电子邮件时,将根据您选择的选项执行以下操作:
- 忽略电子邮件且不采取任何操作。
- 转发电子邮件(即转发到 Forward Email 文本字段中设置的地址)。
- 永久删除电子邮件。
Forward Email 如果指定此字段,则当此邮件服务无法处理其接收到的电子邮件时,就会向此字段中指定的电子邮件地址转发一个表明此问题的电子邮件。注意:必须配置 SMTP 邮件服务器,此选项才能正常运行。
Create Users 如果收到的电子邮件的 From: 字段包含的地址与现有 JIRA 用户账户关联的地址不匹配,而您希望 JIRA 对所有此类电子邮件创建新用户账户,请选中此复选框。这样即可使电子邮件创建者收到事务的后续更新通知,要实现这一点,可以配置相关项目的通知模型,以便向 Reporter 发出更新通知。
这些新建 JIRA 用户账户的用户名和电子邮件地址将是该电子邮件的 From: 字段中指定的电子邮件地址。新用户的密码是随机生成的,并向新用户发送一封电子邮件,提供有关他们在 JIRA 中新账户的信息。
通过此方法创建的用户将被添加至默认 JIRA 应用的默认群组(因此占用此应用的许可证)。请参见Jira 管理群组 Group文档注意:此选项与下面的 Default Reporter 字段选项不兼容,因此选择 Create Users 选项将隐藏 Default Reporter 选项。
Default Reporter 指定默认报告人的用户名,如果任何收到的电子邮件的 From: 字段中的电子邮件地址与现有 JIRA 用户关联的地址不匹配,则将使用此用户名 — 例如,类似
emailed-reporter
的 JIRA 用户名注意:
- 如果选中 Create Users 复选框,则此选项将不可用。
- 请确保在此字段中指定的用户对于相关 Project(上文指定)具有 Create Issues 项目权限,并对于此邮件处理程序要添加评论的其他相关项目具有 Create Comments 项目权限。
Notify Users 对于由上述 Create Users 选项创建账户的用户,如果您不希望 JIRA 向其发送电子邮件通知,请清除此复选框。
注意:此选项只在选中 Create Users 复选框的情况下可用。
测试和保存您的邮件处理程序(见上文)。
根据整个电子邮件正文添加评论
此邮件处理程序根据所收电子邮件的整个正文创建评论。要添加评论的事务是根据电子邮件主题中找到的第一个事务关键字来选择的。评论的作者采用的是电子邮件的 From: 字段的地址。
配置“根据电子邮件正文添加评论”邮件处理程序的步骤:
- 如果还没有配置过邮件处理程序,请开始配置邮件处理程序(见上文)。
在 Add a comment with the entire email body 对话框中,填写以下字段/选项:
Catch Email Address 如果在此字段中指定一个收件人,则只会处理 To:、Cc:、Bcc: 行包含此字段指定的收件人的电子邮件,例如 issues@mycompany.com
在此处指定地址后,将忽略 To:、Cc:、Bcc: 行中不包含 Catch Email Address 地址的所有电子邮件。如果多个邮件服务(如每个都在单独的 JIRA 项目中创建事务)的同一邮件账户有多个别名(如
foo-support@example-co.com
和bar-support@example-co.com
都是support@example-co.com
的别名),则此选项有用。注意:实际上,此选项很少有用,不应与更常用的 Default Reporter 混淆。对于每个邮件处理程序您只能指定一个 Catch Email Address 和一个事务类型。
Bulk 此选项只影响“bulk”电子邮件,此类邮件的标头可能将 Precedence:字段设置为 bulk,或将 Auto-Submitted 字段设置为 no。此类邮件通常由自动化服务发送。收到此类电子邮件时,将根据您选择的选项执行以下操作:
- 忽略电子邮件且不采取任何操作。
- 转发电子邮件(即转发到 Forward Email 文本字段中设置的地址)。
- 永久删除电子邮件。
Forward Email 如果指定此字段,则当此邮件服务无法处理其接收到的电子邮件时,就会向此字段中指定的电子邮件地址转发一个表明此问题的电子邮件。注意:必须配置 SMTP 邮件服务器,此选项才能正常运行。
Create Users 如果收到的电子邮件的 From: 字段包含的地址与现有 JIRA 用户账户关联的地址不匹配,而您希望 JIRA 对所有此类电子邮件创建新用户账户,请选中此复选框。这样即可使电子邮件创建者收到事务的后续更新通知,要实现这一点,可以配置相关项目的通知模型,以便向 Reporter 发出更新通知。
这些新建 JIRA 用户账户的用户名和电子邮件地址将是该电子邮件的 From: 字段中指定的电子邮件地址。新用户的密码是随机生成的,并向新用户发送一封电子邮件,提供有关他们在 JIRA 中新账户的信息。
通过此方法创建的用户将被添加至默认 JIRA 应用的默认群组(因此占用此应用的许可证)。请参见Jira 管理群组 Group文档。注意:此选项与下面的 Default Reporter 字段选项不兼容,因此选择 Create Users 选项将隐藏 Default Reporter 选项。
Default Reporter 指定默认报告人的用户名,如果任何收到的电子邮件的 From: 字段中的电子邮件地址与现有 JIRA 用户关联的地址不匹配,则将使用此用户名 — 例如,类似
emailed-reporter
的 JIRA 用户名注意:
- 如果选中 Create Users 复选框,则此选项将不可用。
- 请确保在此字段中指定的用户对于相关 Project(上文指定)具有 Create Issues 项目权限,并且对于此邮件处理程序要添加评论的其他相关项目具有 Create Comments 项目权限。
Notify Users 对于由上述 Create Users 选项创建账户的用户,如果您不希望 JIRA 向其发送电子邮件通知,请清除此复选框。
注意:此选项只在选中 Create Users 复选框的情况下可用。
- 测试和保存您的邮件处理程序(见上文)。
从每个电子邮件创建新事务
此邮件处理程序为每个传入的邮件创建新事务。
配置“从每个电子邮件创建新事务”邮件处理程序的步骤:
- 如果还没有配置过邮件处理程序,请开始配置邮件处理程序(见上文)。
在 Create a new issue from each email message 对话框中,填写以下字段/选项:
Project 指定此处理程序为其创建新事务的默认项目的项目关键字 — 例如
JRA
。注意:
- 此字段只与事务创建相关,而与事务评论无关。
- 如果电子邮件在其主题行中包含事务关键字,并且 JIRA 安装中存在此事务关键字,则此处理程序会将电子邮件内容添加为此事务的评论,无论此事务属于哪个项目。
Issue Type 选择新事务的默认事务类型。 Catch Email Address 如果在此字段中指定一个收件人,则只会处理 To:、Cc:、Bcc: 行包含此字段指定的收件人的电子邮件,例如
issues@mycompany.com
在此处指定地址后,将忽略 To:、Cc:、Bcc: 行中不包含 Catch Email Address 地址的所有电子邮件。如果多个邮件服务(如每个都在单独的 JIRA 项目中创建事务)的同一邮件账户有多个别名(如
foo-support@example-co.com
和bar-support@example-co.com
都是support@example-co.com
的别名),则此选项有用。注意:实际上,此选项很少有用,不应与更常用的 Default Reporter 混淆。对于每个邮件处理程序您只能指定一个 Catch Email Address 和一个事务类型。
Bulk 此选项只影响“bulk”电子邮件,此类邮件的标头可能将 Precedence:字段设置为 bulk,或将 Auto-Submitted 字段设置为 no。此类邮件通常由自动化服务发送。收到此类电子邮件时,将根据您选择的选项执行以下操作:
- 忽略电子邮件且不采取任何操作。
- 转发电子邮件(即转发到 Forward Email 文本字段中设置的地址)。
- 永久删除电子邮件。
Forward Email 如果指定此字段,则当此邮件服务无法处理其接收到的电子邮件时,就会向此字段中指定的电子邮件地址转发一个表明此问题的电子邮件。注意:必须配置 SMTP 邮件服务器,此选项才能正常运行。
Create Users 如果收到的电子邮件的 From: 字段包含的地址与现有 JIRA 用户账户关联的地址不匹配,而您希望 JIRA 对所有此类电子邮件创建新用户账户,请选中此复选框。这样即可使电子邮件创建者收到事务的后续更新通知,要实现这一点,可以配置相关项目的通知模型,以便向 Reporter 发出更新通知。
这些新建 JIRA 用户账户的用户名和电子邮件地址将是该电子邮件的 From: 字段中指定的电子邮件地址。新用户的密码是随机生成的,并向新用户发送一封电子邮件,提供有关他们在 JIRA 中新账户的信息。
通过此方法创建的用户将被添加至默认 JIRA 应用的默认群组(因此占用此应用的许可证)。请参见Jira 管理群组 Group文档。注意:此选项与下面的 Default Reporter 字段选项不兼容,因此选择 Create Users 选项将隐藏 Default Reporter 选项。
Default Reporter 指定默认报告人的用户名,如果任何收到的电子邮件的 From: 字段中的电子邮件地址与现有 JIRA 用户关联的地址不匹配,则将使用此用户名 — 例如,类似
emailed-reporter
的 JIRA 用户名注意:
- 如果选中 Create Users 复选框,则此选项将不可用。
- 请确保在此字段中指定的用户对于相关 Project(上文指定)具有 Create Issues 项目权限,并且对于此邮件处理程序要添加评论的其他相关项目具有 Create Comments 项目权限。
- 在创建了事务并指定了此选项后,电子邮件的 From:地址会附加在事务 Description 字段末尾的简短消息中,以便识别发送人。
Notify Users 对于由上述 Create Users 选项创建账户的用户,如果您不希望 JIRA 向其发送电子邮件通知,请清除此复选框。
注意:此选项只在选中 Create Users 复选框的情况下可用。
CC Assignee 如果您希望 JIRA 自动将创建的事务指派给以下 JIRA 用户,请选中此复选框:
- 该用户的电子邮件地址(使用其 JIRA 账户注册)与收到的电子邮件的 To:、Cc:和 Bcc: 字段中出现的第一个匹配地址相匹配。
- 并且,该用户对于相关 Project(上文指定)具有 Assignable User 项目权限。
CC Watchers 如果用户的电子邮件地址(使用其 JIRA 账户注册)与收到的电子邮件中的 To:、Cc:或 Bcc: 字段中出现的地址相匹配,而您希望 JIRA 自动将这些用户添加到该事务,请选中此复选框。
请注意,在创建事务时,对于由 Create Users 选项(见上文)创建的新 JIRA 用户,此 CC Watchers 选项不能将此类用户也添加到事务关注者列表。JIRA 用户必须已经存在于 JIRA 的用户库中,且必须拥有电子邮件地址。
- 测试和保存您的邮件处理程序(见上文)。
从邮件正文中特定的标记或分隔符以前的内容创建评论
此消息处理程序将通过电子邮件的正文创建评论,但是会忽略与指定的正则表达式 (regex) 相匹配的标记或分隔符之后的所有正文内容。
对于 Lotus Notes 和 Outlook 等邮件系统,电子邮件的核心内容可以通过一些可预测的文本字符串(如“---- Original Message ----
”或“Extranet\n email.address/DOM/REG/CONT/CORP@CORPMAIL
”)与正文中的其他(例如回复或转发)内容分开。因此,可以使用此消息处理程序,通过任何有效的正则表达式,从各种不同邮件系统的无关内容中过滤核心内容。
还请注意,添加评论的目标事务是从电子邮件主题中找到的第一个事务键值中选出的。
Add a comment before a specified marker or separator in the email body 邮件处理程序会对收到的电子邮件执行以下操作:
- 如果找到了正则表达式模式(在邮件处理程序中指定),那么电子邮件正文中第一处与正则表达式模式相匹配的位置之前的文本就会用于评论,而剩余的正文将被丢弃。
- 如果未找到正则表达式模式(在邮件处理程序中指定),将会使用电子邮件正文中的整个文本作为评论。
- 如果未在邮件处理程序中指定正则表达式模式,将会使用电子邮件正文中的整个文本作为评论。
- 如果邮件处理程序中指定的正则表达式模式不正确,将会使用电子邮件正文中的整个文本作为评论。
要配置“Add a comment before a specified marker or separator in the email body”邮件处理程序,请执行以下操作:
- 如果还没有配置过邮件处理程序,请开始配置邮件处理程序(见上文)。
在 Add a comment before a specified marker or separator in the email body 对话框中,填写以下字段/选项:
Split Regex 指定一个正则表达式,该表达式所匹配的文本可以将电子邮件的邮件正文内容与正文中的其他内容(回复或转发内容)分开。
请注意:
- 正则表达式必须以分隔符开始和结束,通常是“
/
”。 - 不允许在正则表达式中使用逗号,因为逗号是 JIRA 服务自身用于分隔多个邮件处理程序的字段和选项的分隔符,而且到目前为止没有可用的转义字符。
例如:
/----\s*Original Message\s*----/
或
/_____________*/
Catch Email Address 如果在此字段中指定一个收件人,则只会处理 To:、Cc:、Bcc: 行包含此字段指定的收件人的电子邮件,例如 issues@mycompany.com
在此处指定地址后,将忽略 To:、Cc:、Bcc: 行中不包含 Catch Email Address 地址的所有电子邮件。如果多个邮件服务(如每个都在单独的 JIRA 项目中创建事务)的同一邮件账户有多个别名(如
foo-support@example-co.com
和bar-support@example-co.com
都是support@example-co.com
的别名),则此选项有用。注意:实际上,此选项很少有用,不应与更常用的 Default Reporter 混淆。对于每个邮件处理程序您只能指定一个 Catch Email Address 和一个事务类型。
Bulk 此选项只影响“bulk”电子邮件,此类邮件的标头可能将 Precedence:字段设置为 bulk,或将 Auto-Submitted 字段设置为 no。此类邮件通常由自动化服务发送。收到此类电子邮件时,将根据您选择的选项执行以下操作:
- 忽略电子邮件且不采取任何操作。
- 转发电子邮件(即转发到 Forward Email 文本字段中设置的地址)。
- 永久删除电子邮件。
Forward Email 如果指定此字段,则当此邮件服务无法处理其接收到的电子邮件时,就会向此字段中指定的电子邮件地址转发一个表明此问题的电子邮件。注意:必须配置 SMTP 邮件服务器,此选项才能正常运行。
Create Users 如果收到的电子邮件的 From: 字段包含的地址与现有 JIRA 用户账户关联的地址不匹配,而您希望 JIRA 对所有此类电子邮件创建新用户账户,请选中此复选框。这样即可使电子邮件创建者收到事务的后续更新通知,要实现这一点,可以配置相关项目的通知模型,以便向 Reporter 发出更新通知。
这些新建 JIRA 用户账户的用户名和电子邮件地址将是该电子邮件的 From: 字段中指定的电子邮件地址。新用户的密码是随机生成的,并向新用户发送一封电子邮件,提供有关他们在 JIRA 中新账户的信息。
通过此方法创建的用户将被添加至默认 JIRA 应用的默认群组(因此占用此应用的许可证)。请参见Jira 管理群组 Group文档。注意:此选项与下面的 Default Reporter 字段选项不兼容,因此选择 Create Users 选项将隐藏 Default Reporter 选项。
Default Reporter 指定默认报告人的用户名,如果任何收到的电子邮件的 From: 字段中的电子邮件地址与现有 JIRA 用户关联的地址不匹配,则将使用此用户名 — 例如,类似
emailed-reporter
的 JIRA 用户名注意:
- 如果选中 Create Users 复选框,则此选项将不可用。
- 请确保在此字段中指定的用户对于相关 Project(上文指定)具有 Create Issues 项目权限,并对于此邮件处理程序要添加评论的其他相关项目具有 Create Comments 项目权限。
Notify Users 如果用户的账户是使用上述 Create Users 选项创建的,并且您不希望 JIRA 发送电子邮件通知这些用户,请清除此复选框。
注意:此选项仅在 Create Users 复选框选中时起作用。
- 正则表达式必须以分隔符开始和结束,通常是“
- 测试和保存您的邮件处理程序(见上文)。
自定义邮件处理程序
您可以设计自己的消息处理程序,以便更好地将自己的过程集成到 JIRA。此类自定义邮件处理程序是使用如上所述的标准程序进行配置的。
有关创建自定义邮件处理程序的更多信息,请参见消息处理程序插件模块文档。
事务/评论创建
以下几点描述了 JIRA 如何处理每封传入的电子邮件,确定是将其内容作为评论添加到现有事务中,还是整个作为一个新事务。
- 系统会检查电子邮件的主题 ,看看是否包含现有的事务键值:
- 如果在主题中发现了事务键值,就会处理电子邮件的正文内容,将其作为评论添加到与该事务键值对应的事务中。
- 如果在主题中未发现事务键值,就会检查in-reply-to 标头:
- 如果发现该电子邮件是对之前创建了事务的另一封电子邮件的回复,就会处理正文并将其作为评论添加到该事务中。
- 如果发现电子邮件不是回复邮件,就会创建一个新事务。
例如,在针对 JIRA 服务器配置的 POP 或 IMAP 邮件服务器上的邮件账户 foo@example-co.com
收到的电子邮件将遵循以下方式进行处理:
- 事务创建:
- 评论创建:
- 电子邮件的正文将成为事务的评论。
电子邮件的所有附件将成为事务的附件(假设已在 JIRA.中启用了附件)。
邮件处理程序的便利提示
为了让 JIRA 处理不具备 JIRA 用户账户的人员发送的电子邮件,请执行以下操作:
- 在您的邮件服务器/服务中创建一个“匿名”/“虚拟”邮件账户(如上所述)。
- 创建相同的“匿名”/“虚拟”JIRA 用户账户,其 Email 字段与先前步骤中创建的邮件账户相同。
- 在配置您的邮件处理程序(如上所述)以便处理该邮件账户发送的邮件时,请将 Default Reporter 设置为该“匿名”/“虚拟”JIRA 用户账户。
最佳实践(预处理 JIRA 电子邮件)
对于 JIRA 生产服务器,我们建议设置以下电子邮件预处理过程:
- 由于 JIRA 邮件处理程序能够成功地从您的邮件服务器上删除处理过的电子邮件,因此请务必将邮件发送到一个备份文件夹,以便记录 JIRA 处理了哪些邮件。
如果您的邮件文件夹包含对 JIRA 电子邮件通知的回复,请设置能够过滤自动回复和回弹的规则。
如果您不这么做,JIRA 和发送"不在办公室"这种通知的自动回复器之间很有可能会产生邮件循环。JIRA 在外发邮件中设置了一个“Precedence:bulk”标头(除非您已将其禁用)和一个“Auto-Submitted”标头,但是一些自动回复器会忽略它。
没有一种防御办法能够检测电子邮件是回弹还是自动回复。以下规则(采用 procmail 格式)将检测大多数自动回复:^From:.*mailer-daemon@^Auto-Submitted:.auto-^Content-Type:\ multipart/report;\ report-type=delivery-status^Subject:\ Delivery\ Status\ Notification^Subject:\ Undeliverable^Subject: Returned Mail:^From:\ System\ Administrator^Precedence:\ auto_reply^Subject:.*autoreply^Subject:.*Account\ signup
CODE即使使用了这些规则,您也可能会碰到一些自动回复,它们的标头中不包含任何可将其与普通邮件区分开来的内容,在这种情况下,您只需手动更新过滤器,将该发件人排除在外。
- 设置过滤器以捕获带有超大附件的电子邮件。JIRA 使用标准的 JavaMail 库来解析电子邮件,碰到大附件(例如,对于 512 MB 的堆,50 MB 以上的附件就属于大附件)时,它的内存就会快速用尽。由于系统不会删除未经处理的邮件,因此会在每次运行邮件服务的时候重新处理该邮件,从而产生了另一个 OutOfMemory 错误。
实际上,这个问题并不常见,因为大多数邮件服务器都被配置为不接受含超大附件的电子邮件。除非您确定邮件服务器不会将超大附件传递给 JIRA,否则最好配置一个过滤器,以防止 JIRA 遇到任何超大附件。 - 设置垃圾邮件过滤规则,这样 JIRA 就不必处理(并有可能从中创建事务)垃圾邮件。
故障排除
JIRA 的 Logging & Profiling 页面为外发和传入邮件提供了配置选项。您无论何时创建新的(或编辑现有的)邮件处理程序(如上所述),都可以使用 Test 按钮来测试邮件处理程序的配置,以确保其按预期运行。在 JIRA 中调试与邮件相关的问题时,可以在启动时设置 -Dmail.debug=true
属性,这个方法很有用。这会导致 JIRA 电子邮件交互的协议级详情被记录到 catalina.out
(或标准输出)中。
常见问题
- 如果 JIRA 既不创建发送电子邮件,也不通过电子邮件创建事务和评论,那么您的 JIRA 实例可能发生了 OutOfMemory 错误。请检查日志文件,看看是否存在 OutOfMemory 错误。如果存在 OutOfMemory 错误,请重新启动 JIRA 并调查错误。
- 如果您发现有一些传入电子邮件消失了,请确认您没有意外启动另一个 JIRA(例如,在过渡环境中),而这个 JIRA 正在下载和删除邮件。有关为了防止邮件被处理而应设置的标记,请参见禁用电子邮件发送/接收。
- 如果对 JIRA 通知邮件的回复中出现了 JIRA 的 SMTP 服务器,而不是已配置的处理程序 POP 账户(就像 Outlooks 提供的“Reply-to”功能那样),则需要配置项目,在外发通知中添加“reply-to”标头。可以在 JIRA 管理页面的项目视图中为该特定项目进行配置。
- 如果 JIRA 未正确处理 HTML/Rich 文本格式,这属于可以预料到的行为。电子邮件评论处理程序只能进行纯文本转换。