1.如何修复WordPress无法发送Email的问题
不少朋友一直都在问万网主机下 WordPress 无法发送邮件,其实在WordPress大学的问答中心, Jerry8yuan 给出了解决方案,下面简单整理一下,方便后面的朋友。
万网的主机貌似都需要通过 SMTP 来发送邮件,而且要开启 fsockopen(在万网后台可以开启,不会的请联系万网客服) 。但是 WordPress 的 SMTP 发送方式为 steam_connect_client 而非fsockopen,所以,打开 /wp-include/class-smtpp.php 大概是 202-208 行的位置,查找到下面的代码:
$socket_context = stream_context_create($options);
$this->smtp_conn = @stream_socket_client(
$host . ":" . $port,
$errno,
$errstr,
$timeout,
STREAM_CLIENT_CONNECT,
$socket_context
);
修改为如下代码:
$this->smtp_conn = @fsockopen($host,$port,$errno,$errstr,$timeout);
然后使用 WP SMTP 或 WP MAIL SMTP 这类 SMTP 发送邮件的插件,配置好一般就可以了。
特别注意:由于这个方法是直接修改了 WordPress 的核心代码,一旦升级了 WordPress 版本,就需要重新进行修改,请务必记得!!!
2.wordpress配置好了smtp,怎么样把网站上面的表单用smtp发送到邮
大致方向就是 赋给 收件人 主题 邮件内容具体的值,然后调用发送函数就可以。
给你个perl 语言的例子:
# 用于发送邮件
sub mail
{
# input: recipients , attachment
# output: email status log
my ($to,$subject,$message) = @_;
my $place = "Send_Mail";
print "$place。\n";
use Mail::Sendmail;
my %mail = ( To => $to,
From => $mailfrom,
Subject => $subject,
Message => $message
);
$mail{Smtp} = $SMTP;
$mail{'Content-Type'} = 'text/plain; charset="UTF-8"';
}
3.wordpress注册时邮件无法发送
可能是mail() 函数被禁用了,禁止了系统的sendmail功能只需要安装一个官方的smtp插件即可使用外接的邮件服务器来发信.
如果不设置这个,游客或其他用户发表评论是可能会需要等待非常长的时间才能发出评论或出现脚本错误.
安装好后先到后台plugins里去激活(Activate)WP-Mail-SMTP插件,然后后台左下方的设置(settings)里会出现email设置选项,
以gmail为例:
From Email:你的gmail地址
From Name:发信人姓名,随便填
Mailer:Send all WordPress emails via SMTP.
SMTP Host:smtp.gmail.com
SMTP Port:465
Encryption:Use SSL encryption.
Authentication:Yes: Use SMTP authenticati
Username:你的gmail用户名(企业版用户请填写邮件地址)
Password:你的gmail密码
4.如何配置wordpress使用SMTP进行发邮件
需要使用一个SMTP插件。
WORDPRESS网站其实自带发送邮件的功能,但是其使用的是PHP的mail()函数的方式,用这种方式发送邮件,要么邮件根本就发不出去,虚拟主机不支持,禁止使用mail()函数;要么发出去了,连收件人的垃圾箱都进不了,直接被系统拦截。所以,我们需要一款通过SMTP方法发送邮件的插件,来代替WORDPRESS使用的mail()函数。
(这就是原因)那么什么是通过SMTP方法发送邮件呢?所谓用SMTP方式发邮件,就是使用公网的邮箱,通过远程的方式(SMTP)协议,发送邮件给对方。比如你有一个QQ邮箱,你就可以在WP Mail SMTP插件中进行一些设置,设置成功之后,你的网站发送邮件,就是远程通过你的QQ邮箱来发送的。
通过SMTP方式发送邮件,发送成功率会很高。
转载请注明出处51数据库 » wordpresssmtpconne