跳转到目录

电子邮件

本章解释了如何使用OJS、OMP和OCS发送电子邮件;可用的配置选项;以及如何解决电子邮件问题。

邮件在PKP软件应用程序188金宝搏下载app中使用PHPMailer图书馆. 您可以在上找到有关PHPMailer的更多信息他们的维基. 与邮件相关的其他代码可在中找到pdp -lib邮件类

发送的电子邮件记录存储在email_log数据库的表。

PKP软188金宝搏下载app件应用程序为配置电子邮件以在您的环境中工作提供了许多选项。以下配置选项可用于电子邮件config.inc.php

;;;;;;;;;;;;;;;;;;;电子邮件设置;;;;;;;;;;;;;;;;;;;(电子邮件);使用SMTP来发送邮件而不是mail();smtp = On;SMTP服务器设置;Smtp_server = mail.example.com;Smtp_port = 25; Enable SMTP authentication ; Supported mechanisms: ssl, tls ; smtp_auth = ssl ; smtp_username = username ; smtp_password = password ; Allow envelope sender to be specified ; (may not be possible with some server configurations) ; allow_envelope_sender = Off ; Default envelope sender to use if none is specified elsewhere ; default_envelope_sender = my_address@my_host.com ; Force the default envelope sender (if present) ; This is useful if setting up a site-wide no-reply address ; The reply-to field will be set with the reply-to or from address. ; force_default_envelope_sender = Off ; Force a DMARC compliant from header (RFC5322.From) ; If any of your users have email addresses in domains not under your control ; you may need to set this to be compliant with DMARC policies published by ; those 3rd party domains. ; Setting this will move the users address into the reply-to field and the ; from field wil be rewritten with the default_envelope_sender. ; To use this you must set force_default_enveloper_sender = On and ; default_envelope_sender must be set to a valid address in a domain you own. ; force_dmarc_compliant_from = Off ; The display name to use with a DMARC compliant from header ; By default the DMARC compliant from will have an empty name but this can ; be changed by adding a text here. ; You can use '%n' to insert the users name from the original from header ; and '%s' to insert the localized sitename. ; dmarc_compliant_from_displayname = '%n via %s'

要在OJS用户界面中找到更多关于电子邮件的信息,请参见学习橙汁3

发送邮件

默认情况下,PHPMailer将通过PHP内置的邮件()设施。

在Windows上,需要将PHP配置为通过SMTP服务器(在同一台机器或另一台机器上运行)发送电子邮件。

在其他平台(如Linux和Mac OS X)上,PHP将使用本地sendmail客户端发送邮件,因此必须运行本地MTA(如sendmail或Postfix),并将其配置为允许发送邮件。

看到https://www.php.net/manual/en/function.mail.php有关配置PHP邮件功能的更多细节。

我们的软188金宝搏下载app件还可以配置为使用中指定的SMTP服务器config.inc.php,有或没有身份验证。

设置Bounce地址

若要控制将被退回的电子邮件发送到的地址,您需要设置信封发件人地址。启用allow_envelope_sender选项(电子邮件)配置文件的部分;当启用此选项时,“Bounce Address”字段会出现在“Setup”下的“Email”部分。

请注意,此选项可能需要更改服务器的邮件服务器配置,以便sendmail程序信任web服务器运行时的用户(例如“www数据”);否则,“X警告”标题将添加到传出消息中。如果发送的邮件包含这样的标题,请查阅邮件服务器的文档。

例如,Sendmail在中保留一个受信任用户列表/etc/邮件/可信用户;其他邮件系统也使用类似的文件。

用于设置信封发件人的命令行选项为- f

电子邮件和语言环境

当创建期刊、新闻或会议时,电子邮件模板直接安装在数据库中。如果你需要编辑一个locale文件,除非重新加载系统中的所有模板,否则不会反映模板文件中的任何更改。

重新加载模板将覆盖您所做的任何修改。要保持这些修改,您需要在本地保存这些修改,并根据需要将它们重新添加到模板中。

主要和技术联系

所有PKP应用程序都要求在“安装”下配置主要和技术接触,以确保正确的日常操作。这对于系统中的每一份期刊、新闻或会议都是必需的。

  • 橙汁2。X,这可以在设置步骤1
  • 在OCS 2.x中,这可以在网站管理
  • 在OJS/OMP3.x中,这可以在设置>日志>联系人

新用户的邮件验证

OJS向所有用户提供一个自注册表单,可在下禁用或重新启用该表单管理员菜单>用户和角色>站点访问选项>用户注册

启用此功能后,每个用户都可以在日志中注册并创建一个帐户,其角色为读者、作者和/或审阅者;但是,用户创建垃圾邮件帐户并不罕见,这会使合法用户列表变得混乱,并增加期刊编辑验证这些帐户并手动清理这些帐户的工作量。

通过中的两个设置,可以减少创建大量垃圾邮件帐户config.inc.php

;如果启用,电子邮件地址必须验证登录是可能的。require_validation = Off;未验证的帐户过期和被删除的最大天数validation_timeout = 14

第一个参数是require_validation,设置为默认情况下。当设置为,这个参数将要求每个新用户在能够完全使用系统之前激活他们的帐户。

第二个参数是validation_timeout,设置为14默认情况下。该参数仅在require_validation已启用,这意味着用户有14天的时间激活其新帐户,或者当达到时间限制时,该帐户将自动从系统中删除。

配置系统以使用Gmail SMTP

要使用Gmail SMTP从OJS发送电子邮件,您可以在中使用以下设置config.inc.php

对于OJS 2.x:

; 使用SMTP发送邮件,而不是使用mail()SMTP=On;SMTP服务器设置SMTP_服务器=”ssl://smtp.gmail.com“smtp_端口=465;启用SMTP身份验证SMTP_auth=普通SMTP_用户名=”user@gmail.com“smtp_password=“password”

橙汁3. x:

; 使用SMTP发送邮件,而不是使用mail()SMTP=On;SMTP服务器设置SMTP_server=SMTP.gmail.com SMTP_port=465;启用SMTP身份验证SMTP_auth=ssl SMTP_用户名=”user@gmail.com“smtp_password=“password”

有关Gmail SMTP的附加信息可在https://support.google.com/a/answer/176600?hl=en

请注意,您可能需要在Gmail中额外配置特定于应用程序的密码;看见https://support.google.com/accounts/answer/185833?hl=en获取详细信息。

SPF和DMARC问题

发件人策略框架(SPF)

发送方策略框架(Sender Policy Framework, SPF)依赖于可能运行OJS的服务器从主机主域的另一个服务器接收的权限。这授权OJS服务器使用该域发送电子邮件,并防止消息被拦截。

当您的OJS安装运行在不同的服务器上时,需要SPF,包括子域,从您的主域;例如,当您在托管domain.com的机构之外的服务器上托管journal.domain.com的期刊时。

在这种情况下,您必须要求IT服务人员在您的DNS区域中启用一个TXT条目,它允许代表@domain.com发送电子邮件和通知。以下是一个可能需要SPF记录的场景示例:

服务器运行的橙汁:

IP: 10.10.10.10服务器名:myojsserver.com(这不是你的域名,但只是一个由你的OJS主机供应商定义的服务器名)

该服务器将需要包括在您的DNS区域作为一个TXT SPF记录。在这种情况下,您需要添加以下内容:

名称:空白,或设置为@(取决于域名注册商的说明)类型:TXT值:v=spf1 ip4:10.10.10 a:myojsserver.com~all

如果你已经有一个TXT记录在你的DNS区域,你将需要合并它只保留一个TXT记录。应该只有一个DNS TXT记录。

基于域的消息验证、报告和一致性(DMARC)

虽然SPF提供提供橙汁使用返回路径发送电子邮件或电子邮件信封包含一个电子邮件地址与另一个域的橙汁服务器托管在,有时橙汁可能代表用户发送电子邮件使用域不能忧郁的SPF记录。Gmail是一个很好的例子:如果一个管理员有一个user@gmail.com地址,你不可能让谷歌把我们添加为SPF记录。

DMARC通过将用户的电子邮件放在答复:地址,并把default_envelope_sender来自:领域从OJS 3.1.2开始,您可以通过您的config.inc.php文件,即force_dmarc_compliant_fromdmarc_compliant_from_displayname.(如果你是OJS 3.1.2+,并没有看到这些参数在你的live配置文件,你将想要检查你的config.TEMPLATE.inc.php归档并移动他们,因为他们出现在那里。)

故障排除邮件问题

如果一些用户没有收到电子邮件,首先要做的是检查你自己是否能收到电子邮件。尝试使用系统向自己发送电子邮件。如果您收到它,软件应用程序可能正在发送电子邮件。然后,您应该让有问题的用户检查其电子邮件的垃圾邮件/垃圾邮件文件夹。188金宝搏下载app

如果用户找不到任何被过滤为垃圾邮件或垃圾邮件的记录,您可能会遇到一个发送方政策框架(SPF)验证问题与他们的服务器。您可以通过查看服务器的邮件日志来确认这一点,以查看是否有任何报告的收到阻塞/返回结果为SPF验证错误。

解释和解决方案

从2.4.6版本开始,OJS对邮件发送方式进行了更改。以前,所有的电子邮件都是使用“FROM”字段中的OJS用户的电子邮件地址发送的。不幸的是,这导致了一些问题,杂志的外发邮件被一些电子邮件服务器标记为“欺骗”,因为有问题的电子邮件地址(例如。james@myinstitution.org”)与发送邮件的服务器的域名不匹配。“myjournal.com”)。(从技术上讲,这些邮件未能通过发件人策略框架(Sender Policy Framework, SPF)验证。)以这种方式被标记比被认为是垃圾邮件要严重得多:在许多情况下,接收邮件的服务器甚至不会将邮件分配到垃圾邮件/垃圾邮件队列,而只是选择丢弃它。

方案1 (OMP, OJS)

为了防止这种情况发生,PKP开发团队采用了一种类似于WordPress等其他web应用程序的电子邮件通知方法:在“发件人”字段中使用一个中心电子邮件地址,在“回复”字段中使用预期收件人的电子邮件地址,从系统发送所有电子邮件。默认情况下使用的中心电子邮件地址将是中提供的地址日志设置步骤1.2:主要联系人,它应该与日志发送邮件的域名匹配。(如果此电子邮件地址与每个日志的发送域不匹配,则可以通过OJS config.inc.php文件在站点级别配置备用电子邮件地址)。此外,中还提供了新的“电子邮件标题”设置日志设置步骤1.4:电子邮件识别,可用于向收件人提供解释性文本。

为了正确配置,我们建议如下:

  • 如果你还没有使用OJS 2.4.6+,那就升级。
  • 配置OJS将使用日志设置步骤1.2中的“主要联系人”设置发送所有邮件的电子邮件地址
    • 如果可能的话,让您的主要联系人电子邮件地址作为日志的一般联系人,并使其与日志域名匹配。例如,如果您的域名是“hypothesisjournal.com”,请尝试使用以下电子邮件地址:editor@hypothesisjournal.com”.
  • 使用日志设置步骤1.4中的“Email Header”设置提供一些解释性文本。这个文本将出现在系统生成的每一封电子邮件的顶部。记住,这些邮件通常是对用户的通知,应该像其他系统的通知邮件一样对待。我们建议以下案文:
您正以<期刊名称>的名义收到此邮件。在请求回复的情况下,您可以直接回复此邮件。

方案2 (OCS,还有OJS和OMP)

配置您的安装使用GMail的SMTP服务。看到上面关于SMTP的部分为更多的信息。

Baidu