ezmlm_hash()
(PHP 4 >= 4.0.2, PHP 5, PHP 7)
计算 EZMLM 所需的散列值
说明
ezmlm_hash(string $addr): int
ezmlm_hash()计算用于在 MySQL 数据库中保存 EZMLM 邮件列表的散列值。
参数
- $addr
要进行散列算法的电子邮件地址。
返回值
$addr的散列值。
范例
计算散列值并订阅一个用户
<?php $user = "joecool@example.com"; $hash = ezmlm_hash($user); $query = sprintf("INSERT INTO sample VALUES (%s, '%s')", $hash, $user); $db->query($query); // using PHPLIB db interface ?>
EZ Mailing List Manager (EZMLM) is a mailing list manager which allows users to create their own mailing lists with a single command. It seems to require qmail. See: http://www.ezmlm.org/ http://www.qmail.org/top.html#ezmlm
ezmlm will add a user to the list from a mail() call if you use the -f extra flag in the function. Example: mail($to,$title,$email,$headers,"-tfromemail@example.com"); The extra flag being a -t followed by no space and the email address you want the email to appear as though it's being sent from. I spent hours messing with this to try to allow users to sign up for my mailing list by marking a check box while signing up on my site, ezmlm ignored everything until I threw that extra parameter in there. Hope this helps.
This is really ezmlm documentation, but I certanly would have been happy if I found it anywhere during my time of trial. I am not a Linux expert, as you probably will notice, so things I do/did that might sound incredibly stupid to those who do know. I blame hard-to-find documentation :) I wanted a page where a visitor could add their address to my mailinglist. That shouldn't be too hard, or atleastso I thought... First I tried mailing the mailinglist. For some reason, the mailinglist didn't see my "From:" -header and it failed miserably. Then I tried to use system() to call ezmlm-sub, which only produced the error-code 111. That was an access problem. So, I tried making the mailinglist availible to the website, but the change in permissions caused the mailserver to malfunction (as opposed to mailfunction....). It took a while to sort that mess out. I couldn't find any guide as howto add mysql-support. The big problem was how to know which tables was needed. Apperantly, this is all that is needed: ezmlm-mktab listname | mysql -u root -p databasename Then its just adding the mailinglist with mysql-support i qmailadmin. It doesn't seem to allow socket connection to the database, so iptables has to allow local connections to the mysql port. Hope this helps someone.