Questions tagged «email»

使用内置的“ wp_mail”功能可以从WordPress发送电子邮件。几个过滤器和挂钩可用于其他选项。有些插件具有广泛的功能,例如发送批量邮件,如新闻通讯。


7
通过wp_mail()发送多部分(文本/ html)电子邮件可能会导致您的域被禁止
摘要 由于WP Core中存在一个错误,具有讽刺意味的是,您的域被Hotmail(和其他Microsoft电子邮件)阻止了,因此使用wp_mail()发送多部分电子邮件(html /文本)(以减少电子邮件最终进入垃圾邮件文件夹的可能性)。 这是一个复杂的问题,我将详细分解以帮助某人找到可行的解决方案,并最终在核心中实现。 这将是一个有益的阅读。让我们开始... 错误 避免使时事通讯电子邮件最终进入垃圾邮件文件夹的最常见建议是发送多部分邮件。 多部分(MIME)是指在一封电子邮件中同时发送电子邮件的HTML和TEXT部分。客户端收到多部分消息时,如果可以呈现HTML,则接受HTML版本,否则将呈现纯文本版本。 事实证明这是可行的。当发送到gmail时,我们所有的电子邮件都将放入垃圾邮件文件夹,直到当它们到达主收件箱时我们将邮件更改为多部分。好东西。 现在,当通过wp_mail()发送多部分消息时,它将两次输出内容类型(multipart / *),一次是带有边界(如果是自定义设置的),一次是没有边界的。此行为导致电子邮件被显示为原始消息,而不是包括某些所有 Microsoft(Hotmail,Outlook等)在内的某些电子邮件的一部分。 Microsoft将将此邮件标记为垃圾邮件,而接收到的少量邮件将由收件人手动标记。不幸的是,Microsoft电子邮件地址被广泛使用。我们有40%的订户使用它。 微软通过我们最近进行的电子邮件交换确认了这一点。 标记消息将导致域被完全阻止。这意味着该邮件将不会发送到垃圾邮件文件夹,甚至根本不会发送给收件人。 到目前为止,我们已经屏蔽了3次主域名。 因为这是WP核心中的错误,所以发送多部分消息的每个域都被阻止。问题是大多数网站管理员都不知道为什么。我在进行研究时发现这一点,并看到其他用户在论坛等上进行讨论。这需要深入研究原始代码,并对这些电子邮件的工作方式有充分的了解,我们将继续进行下一步... 让我们将其分解为代码 创建一个hotmail / outlook帐户。然后,运行以下代码: // Set $to to an hotmail.com or outlook.com email $to = "YourEmail@hotmail.com"; $subject = 'wp_mail testing multipart'; $message = '------=_Part_18243133_1346573420.1408991447668 Content-Type: text/plain; charset=UTF-8 Hello world! This is …
37 email  wp-mail  bug 

5
当普通的旧PHP mail()可以使用时,为什么wp_mail()不让我设置From:标头?
当我使用wp_mail( $to, $subject, $message, $headers )(当然有适当的值)时,将使用发自名称的电子邮件和未在我能找到的任何地方设置的电子邮件(即使在PHP或Apache设置中也是如此)发送电子邮件。但是,使用mail( $to, $subject, $message, $headers )替代方法就可以了。会发生什么wp_mail()导致这种情况?
32 headers  wp-mail  email 

6
如何仅使用没有用户名的电子邮件登录?
经过几天的搜索并阅读了2年的旧线程,我很难找到解决方案,使用户仅通过电子邮件登录。 起初,我很高兴看到WP_Email_Login只是发现您仍然可以使用用户名登录。我不确定如何将其编写为插件。我的想法是重写register_new_user函数。我没有在“可插拔”功能列表中看到此信息。我可以使用过滤器/操作来做到这一点吗? 我意识到编辑核心文件并不时尚,因此我希望可以找到一种解决方案,但是如果不存在这种解决方案,我会抓住机会。在wp-login.php中“ register_new_user”函​​数的第一行中,我可以添加: $nickname_variable(??) = $user_login // set the nickname to the username $user_login = $user_email; // set the user_login/username to the email address 由于WordPress不允许人们更改用户名,因此效果很好。在注册屏幕(窗体)中,要求输入用户名和电子邮件;我想将Username设置为Nickname变量(如果有人可以告诉我昵称变量是什么,或者在注册过程中在哪里设置的变量,我们将不胜感激)。 干杯, 史密斯
20 login  email 



6
更改密码后禁用电子邮件通知
如果用户或管理员更改了用户密码,我想禁用电子邮件通知。 经过一番Googleling之后,我发现我需要创建一个插件并覆盖中wp_password_change_notification找到的功能pluggable.php。 这是插件和功能: <?php /* Plugin Name: Stop email change password Description: Whatever */ if ( !function_exists( 'wp_password_change_notification' ) ) { function wp_password_change_notification() {} } ?> 我将文件上传到了我的插件文件夹,并在管理面板中将其激活! 这需要使用插件来完成,因为pluggable.php文件先于functions.php文件加载。 无论如何,这似乎对我不起作用。 用户仍然会收到电子邮件。 我禁用了所有插件,并以全新安装方式运行该插件,因此不会产生干扰 在WP_DEBUG不显示任何错误,以及! 有人可以告诉我要更改什么或如何以其他方式解决它(核心修改除外:-)) M.

5
禁用用户注册密码电子邮件
因此,众所周知,WordPress 4.3具有新的密码系统。不幸的是,这个新系统已经取消了不向新用户发送电子邮件的功能。 我的客户正在使用一个系统,在该系统中,他向客户发送了自定义电子邮件,手动注册了他们的电子邮件,然后向他们发送了包含登录信息和自定义消息的电子邮件。我们知道,这个新系统正在努力提高安全性,但这并不能满足他想要的控制量要求。 我在搜索中找到了以下代码来关闭这些电子邮件,但是我认为,仅当用户的电子邮件已更改为先前注册的用户时,它们才会关闭通知电子邮件,而不是在首次创建时就关闭: add_filter( 'send_password_change_email', '__return_false'); add_filter( 'send_email_change_email', '__return_false'); 有谁知道关闭注册后发送的这些初始密码电子邮件的任何方法吗? 谢谢。


2
在WooCommerce中为完成的订单添加第二个电子邮件地址[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为WordPress Development Stack Exchange 的主题。 5年前关闭。 在我问这个问题之前,我知道这里有一个(合法的)犹豫的答案,关于Woo产品,因为他们有自己的支持,应该鼓励他们的用户使用它。我是Woo的付费用户,但无法在他们的付费支持下解决此问题,我的问题是覆盖WP中的类,因此我希望它能引起公平的听证。 我的问题是:将完整的订单电子邮件发送给客户时,我还需要逐字自动接收此电子邮件,就像发送给客户时一样,而不是各种发票PDF创建的其他格式WooCommerce插件。我可以通过更改以下行来轻松完成此操作/woocommerce/classes/emails/class-wc-email-customer-completed-order.php: $this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() ); 读书: $this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() ); $this->send( me@myemail.com, $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() ); 但是,显然这样的黑客无法在升级中幸存下来。我有一个覆盖WooCommerce模板的子主题。是否有任何等效的机制可以使我以类似的封装方式覆盖类?还是您可以推荐一种替代方法(除了将SMTP服务器设置为将所有外发电子邮件密送至第二个地址)来完成我在客户也收到该电子邮件时接收该电子邮件的特定任务?


3
如何更改新用户的电子邮件模板
当我添加新客户时,电子邮件将以以下格式发送给新用户: From: WordPress [wordpress@siteurl.com] Subject: [site name] Your user name and password Message: username: user Password: password siteurl.com/wp-login.php 现在,我想像这样更改这种格式: From: My Site Name [info@siteurl.com] Subject: siteurl.com customer account activated Message: Your customer account has been activated. Your Login credentials are: Username: user email Password: password Thanks, abcd 我尝试了这个答案,但是没有用。 我怎样才能做到这一点?
10 templates  email 

4
更改电子邮件时需要确认
我只是想知道为什么每次用户更改电子邮件地址时wordpress都不会发送确认邮件。 我们如何知道电子邮件地址不是伪造的或错误的输入? 那么有人可以给我一些代码来实现此功能吗? 更新: 这是主意。 用户更改他/她的邮件 我们发送确认电子邮件。 如果用户通过单击确认链接在X天内确认该电子邮件,则应更改该电子邮件。否则,我们应该使用现有的电子邮件。
10 users  email 

3
以编程方式创建用户时发送用户激活电子邮件
我想知道这里是否有人可以提供帮助。 基本上,我创建了一个自定义注册表单,该表单在通过验证后会将用户插入到用户表中。 function _new_user($data) { // Separate Data $default_newuser = array( 'user_pass' => wp_hash_password( $data['user_pass']), 'user_login' => $data['user_login'], 'user_email' => $data['user_email'], 'first_name' => $data['first_name'], 'last_name' => $data['last_name'], 'role' => 'pending' ); wp_insert_user($default_newuser); } 现在,我需要执行的操作不是发送确认电子邮件,我知道我可以使用以下代码进行处理。 wp_new_user_notification($user_id, $data['user_pass']); 我想发送一个用户激活电子邮件。我已经尝试了一些方法,但是似乎无法找到任何具体的方法。希望以前有人遇到过这个问题。

9
WordPress拒绝发送邮件,“ ...您的主机可能已禁用mail()函数”
我最近在我的网站上实现了评论区,并试图使电子邮件通知正常工作。做出新评论时,它似乎不想发送电子邮件通知。 只是为了查看PHP是否可以发送电子邮件,我试图重置密码(因为您将通过邮件获得一个新密码),然后收到消息: 电子邮件无法发送。可能的原因:您的主机可能已禁用mail()函数 我已经检查了“设置”->“讨论”中的复选框,并且该电子邮件有效,因此这不是设置问题。我尝试创建一个PHP文件并使用发送mail(),并且发送成功。因此,WordPress一定有些奇怪的事情。 有任何想法吗?
9 php  wp-mail  email 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.