wordpress上传文件插件
WordPress如何设置contact form 7插件通过qq邮箱发送邮件?
背景环境:
一台国内阿里云ECS服务器,因为默认禁止了SMTP协议,导致Contact Form 7插件无法用25端口发送邮件,也就是说不可能在ECS服务器上设置邮件服务器了,也不能用25端口通过外部别的SMTP服务器发送邮件,因为25端口的进和出都被阿里给封了,开工单申请解封25端口回复是不能解封的了,见以下阿里工单回复:
[ 处理意见 ] 您好,由于国际与国内均对垃圾邮件进行严格管控,我国《互联网信息服务管理办法》、《中国互联网协会反垃圾邮件规范》均对垃圾邮件进行说明与管理规范。鉴于服务器25端口被大量垃圾邮件充斥,严重影响广大用户正常使用。为了共同维护良好的网络环境,自即日起阿里云新购服务器不再提供25端口邮件服务,建议您尝试使用465加密端口发送邮件,或与邮件发信提供商咨询是否还有其他smtp发信端口,给您带来的不便深表歉意,请您查看云平台安全规则:。
解决方案:
因为工单回复建议尝试使用465加密端口发送邮件,所以只能通过465端口来发送邮件了,因为要用到外部的SMTP服务器(smtp.qq.com),所以wordpress还要安装WP Mail SMTP插件,因为担心用外部的SMTP服务器发送邮件会有莫名其妙的丢失邮件,所以建议加装Contact Form CFDB7插件,该插件会在Contact Form 7表单点发送的同时备份一份到WP的后台,存储在数据库内,这样就不怕丢失客户的联系信息了。
下面是解决方案详细步骤:
第一步、进wordpress后台,依次安装并启用Contact Form 7、Contact Form CFDB7、WP Mail SMTP by WPForms 这三个插件
第二步、登录QQ邮箱,设置开启smtp服务,期间会用到QQ绑定的手机号发送短信认证方能开通SMTP:
如下图所示,点“设置”-->“账户”---下拉找到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”,默认POP3/SMTP服务是已关闭的,我们点旁边的“开启”。
这时会提示你用绑定的手机号发送短信认证
发送短信成功后,就会提示有个授权码kkvrbdueydwtebjc,你可以拷贝下来到时设置WP Mail SMTP插件时要用到。
授权码若不记得了也可以登录QQ邮箱重新生成
第三步、设置WP Mail SMTP插件
进入wordpress后台,设置-->WP Mail SMTP Settings--->From Email填你的QQ邮箱,From Name名字随便填,Mailer选择“Send all WordPress emails via SMTP.”。
继续往下拉到SMTP Options设置部份:
SMTP Host:smtp.qq.com
SMTp Port:465
Encryption:Use SSL encryption.
Authentication:Yes: Use SMTP authentication.
Username:itkylin@qq.com (你的QQ邮箱)
Password:(之前登录QQ邮箱开启SMTP服务时提示的授权码)
填好之后点Save Changes保存即可。
保存配置之后,拉到最下面,可以发送一封测试邮件看能不能收到!
若显示“bool(true)”表示发送成功了,你可以登录发送的邮箱查收一下邮件,至此大功告成!
最后,还要提一下的就是,为防有人恶意通过表单发垃圾邮件,你可以安装Contact Form 7 Image Captcha插件,它能提供简单的图片认证,最好别用它自带的,因为国内用户访问会很慢的,至于Contact Form 7、Contact Form CFDB7这两个插件使用设置部份此教程就不多说了,如不懂请自行网上搜索。
使用Postie插件实现WordPress邮件自动发送
tags: wordpress, postie, 邮件, 网络
通过邮件发送博客可以让文字撰写工作更便捷。但wordpress默认的邮件发布博客功能陈旧而且功能非常局限,已经失去维护很久,如果该功能在未来没有得到更新的话,很有可能会在不久的将来被移除。因此,如果要启用通过邮件发送博客的功能,最好还是通过Postie插件来实现。在wordpress的插件商店可以快速安装,如果由于网络环境的原因直接安装不便,也可以下载压缩包通过插件上传的形式安装在自己的wordpress网站中。
1. Postie插件安装和基本配置为了使用邮件来发送博客,首先需要注册一个专门用于发布博客的邮箱,使用gmail,outlook或者国内网易、qq等邮箱均可。在配置完Postie插件后,发送到该邮箱的邮件会发布在你的wordpress博客上,之后该邮件会被删除,因此这个邮箱只能用作博客发布这一单一功能。邮箱需要支持并且启用pop3或者imap功能,推荐使用pop3-ssl协议(一般来说是995端口)来发送邮件。在最新的网易邮箱和qq邮箱中,都启用了通过授权码取代密码来提高安全性的做法,需要申请一个授权码来让wordpress可以读取邮箱中的邮件。
在Postie插件安装完成后,wordpress控制栏增加Postie选项,点击可以设置Postie的各项参数,在最基本的Mailserver选项中,包含了连接类型默认Sockets,mail protocal建议选择POP3-SSL。mail server选项中输入邮箱的pop3或者imap服务器地址,userid输入用户名全称(包含邮箱后缀例如 abc@outlook.com),password中根据实际情况输入邮箱密码或者授权码。其他基本设置包括是否忽略邮件发送时间而根据系统收到邮件的时间来发布博文,以及是否需要调整时区,另外的选项包括检查邮件的频率等等,除非对博文发布时间要求精确,这里面大部分选项都是可以直接使用默认值的。需要注意的一个选项是delete email after posting 在文章发布后删除邮件,这一选项一定要设置成yes,才能保证博客文章的正常发布。
2. 用户授权和文档格式在单用户的博客项目(例如我自己的)中,User部分一般保持默认设置即可,可以在Authorized Address中将常用的发布邮箱的地址(一般来说是自己常用的邮箱,通过这些邮箱来向前一节配置的邮箱发送博文,这些博文就会被自动发布在博客上,因此这里要填写的邮箱地址和前一节是不一样的)。
在Message选项中可以配置默认的邮件配置,这里可以选择html和plain text两种,目前大部分邮箱都是支持html的富编辑器,因此Preffered Text Type 选择html的话会使得在邮件中编辑的文字格式直接体现在博客中,使博客内容(例如标题规格等)和邮箱中的一致。但如果邮箱的html框架和所使用的的wordpress主题冲突,那么可能会让整个博客看起来非常怪异,另外,由于大部分邮件对富文本编辑器的支持实际上并不是非常友好(毕竟很少有人希望直接可以把邮件写的像网页一样美观复杂),因此,如果熟悉 markdown语法的话,不妨选择plain的文章格式,并且在邮箱编辑器中选择“纯文本”方式来发送邮件,使用markdown语法撰写的邮件在新版的wordpress中可以被系统识别并解析为html。
除了默认的文字类型,在message选项中也可以设置默认目录、标签等内容,在邮件主题前默认可以通过 []、-、, 三种方式来标识分类,例如本文标题,在发送邮件时邮件的主题为 [编程技术]使用Postie插件实现WordPress邮件自动发送 .
此外,也可以在邮件正文开头部分通过 tags 来标明文章的 标签,例如本文邮件开头部分为 tags: wordpress, postie, 邮件, 网络 ,其他设置内容还包括了默认的目录、标签以及文章标题等内容。
3.图像和音视频没有图像和音视频的博客会显得非常枯燥无聊,何况我们还经常需要通过图像和音视频来更直接的传递信息。Postie的Image选项中提供了Use First Image as Featured Image 选项和Include Featured Image in Post选项,如果启用,则系统会将附件中第一个图片用作博文的缩略图,第二个选项则表示是否需要将该图片用在博文中。后续的选项里比较重要的两个包括了Start Image Count At,可以选择从0(这个是程序员操作数组的习惯)还是从1 开始数附件图片的数目,这个选项和后面的Image Place Holder Tag 配合使用,在后一个选项中可以设置图片占位符例如 #img1# 代表要在这个位置插入附件中第一个图片。这个选项仅在纯文本plain text类型中适用,在使用html格式发送邮件时可以直接将图片插入文字中适当部分。音视频文件则需要单独上传到wordpress或者其他视频网站中,可以选择并设置不同的显示模式例如[video width="568" height="320" {FILETYPE}="{FILELINK}"][/video]。
4. 测试和发布设置完每个选项后点击最下方的保存按钮保存设置。在插件窗口右侧的Test Config可以测试邮箱配置,点击 Process Email可以手动查收邮件并发布到博客中。
云服务器下WordPress发送邮件的设置
WordPress的邮件功能很强大,可以实现用户密码以往后自助恢复等问题。
WordPress默认是使用php发邮件的,php需要配置好smtp(端口25)服务器及密码。这种方式不直观,因此一般都用smtp插件,常用的插件是WP Mail SMTP。
它可以提供多种邮箱的连接(主要是国外,国内的可以选择其它)
默认就是安装插件前的状态,就是用PHP函数发邮件。即便是还用默认选项,利用这个插件可以实现测试发送邮件。
以上是WordPress的邮件发送设置部分,但是如果需要成功外发邮件,需要外部环境支持,这些包括:
1、用自建邮件系统
2、使用第三方邮件系统
自建邮件系统比较复杂,需要域名做好解析,还要安装邮件服务软件。这期都好办,但是邮件系统设置时,需要开启很多端口,比如:25、110、995、465、587等,最重要的是25,需要在阿里云进行申请,因为安全因素,这个端口默认是不开启的。
很多网友表示,申请通过率不高。因此只能选择企业邮箱或者第三方邮箱了。下面我们就以126邮箱为例,完成WordPress的邮件发送设置。
1、进入126邮箱,开启POP3/SMTP服务,需要扫码用注册手机号发送短信,一定要保存好授权密码
2、进入终端,依次输入如下命令:
mkdir -p /root/.certs/
echo -n | openssl s_client -connect smtp.126.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/126.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/126.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/126.crt
certutil -A -n '126' -t "P,P,P"-d /root/.certs -i ~/.certs/126.crt
certutil -L -d /root/.certs
vi /etc/mail.rc在文件末尾增加如下内容:
et from=账号@126.com
set smtp=:465
set smtp-auth-user=账号@126.com
set smtp-auth-password=授权密码
set smtp-auth=login
set ssl-verify=strict
set nss-config-dir=/root/.certs
3、测试:
echo "test mail" | mail -s "test" 账号@126.com
这时邮箱可以收到一个文本邮件
4、配置WordPress的插件WP Mail SMTP(安装过程略)
选择其它类型的邮箱
5、发邮件测试
至此WordPress的邮件发送设置完成。设置成功以后,可以添加一个用户后,测试“发送密码重置邮件”,通过邮寄来修改用户密码了。