我正在寻找一个解决方案,从我的网站发送自动电子邮件到PHPList列表。根据我的理解,PHPList的电子邮件是使用应用程序提供的基于web的界面手动编写的。是否有一些api可以让我的网站直接发送电子邮件?
您可以像这样编写代码,只需要更改插入字符串上的一些值以匹配您的列表。因此,当有人在您的网站上创建帐户时,您只需调用这样的例程并将其插入到PHPLIST中。
也可以在成员表上使用触发器。下面的代码是VB。. NET -但您可以轻松地将其转换为php。
Public Sub AddMemberToPHPList(ByVal vUserEmail As String)
Dim moConn As MySqlConnection
moConn = New MySqlConnection("server=*********;User Id=******;Password=*******;Persist Security Info=True;database=phplist;Ssl Mode=None;Allow User Variables=True;")
moConn.Open()
Dim oMySqlCommand As New MySqlCommand
oMySqlCommand.Connection = moConn
oMySqlCommand.Parameters.AddWithValue("email_address", vUserEmail.ToLower)
oMySqlCommand.Parameters.AddWithValue("uniqid", Guid.NewGuid)
oMySqlCommand.CommandText = "INSERT IGNORE INTO phplist_user_user set email = ?email_address, confirmed=1,entered = now(),modified = now(),uniqid = ?uniqid,htmlemail = 1, bouncecount=0,disabled = 0"
oMySqlCommand.CommandType = CommandType.Text
oMySqlCommand.ExecuteNonQuery()
oMySqlCommand.CommandText = "INSERT IGNORE INTO phplist_listuser set userid = (select id from phplist_user_user where email = ?email_address) , listid = 3, entered = now(), modified= now()"
oMySqlCommand.ExecuteNonQuery()
End Sub
首先,如果是一个邮件列表,您需要使用队列,您只需要将邮件存储在数据库中,然后通过队列发送与数据库的邮件的循环
我意识到这个回复是相当晚的,但我认为你会做得很好,看看这个插件的PHPList:
https://resources.phplist.com/plugin/submitbymail
插件页面说作者不再支持/开发插件,但是那里的代码应该可以在当前版本的PHPList上工作。
我曾经使用一个旧的插件(称为"MailToList")来实现这个确切的目的-有人可以在其他地方撰写电子邮件,将其发送到他们系统上的特定地址,然后插件会查看这些电子邮件收件箱中的新电子邮件,并将使用该电子邮件作为来源排队一个新的"活动"。因此,PHPList中需要为每个列表设置一个收件箱
(我正在经历我的PHPList系统的升级过程,可能会使用这个'SubmitByMail'插件,因为'MailToList'插件似乎不存在了。但我还没有实际使用'SubmitByMail'插件)