PR(記事内にアフィリエイト広告が含まれています)
スポンサーリンク
Nucleus

フォームメールの改造

メンバー詳細ページからフォームを送る時に、メンバーの携帯メールに転送できるようにしようと思ったんですが、デフォルト仕様ではメールアドレス欄が送信者になるので、携帯メール側でドメイン許可などで迷惑メール対策をしていた時に困ります。色々なドメインでフォームが送信される可能性があるからです。
そういうわけで、メールアドレス欄の中身はフォームタイトル部分に記載して、送信元アドレスは必ず特定のアドレスになるように、ソースを修正してみました。

nucleus/lib/ACTION.php の function sendMessage() 冒頭
function sendMessage() {
global $CONF, $member;
$error = $this->validateMessage();
if ($error != '')
return array('message' => $error);
if (!$member->isLoggedIn()) {
//20100515_takehana_del1_add1
//      $fromMail = postVar('frommail');
$fromMail2 = postVar('frommail');
//20100515_takehana_upd_s
//      $fromName = _MMAIL_FROMANON;
$fromName = requestVar('inputname');
//20100515_takehana_upd_e
} else {
//20100515_takehana_del1_add1
//      $fromMail = $member->getEmail();
$fromMail2 = $member->getEmail();
$fromName = $member->getDisplayName();
}
//20100515_takehana_add1
    $fromMail = '※送信者にしたいメールアドレスをココに記載※';
//20100515_takehana_add_s
$res = requestVar('res');
if (!$res) $res = 'mine';
//20100515_takehana_add_e
$tomem = new MEMBER();
$tomem->readFromId(postVar('memberid'));
//20100515_takehana_del1_add1
//    $message  = _MMAIL_MSG . ' ' . $fromName . "\n"
$message  = _MMAIL_MSG . ' ' . $fromName . "\n"
//20100515_takehana_com1
//        . '(' . _MMAIL_FROMNUC. ' ' . $CONF['IndexURL'] .") \n\n"
//20100515_takehana_add2
. "Mail or URL : " . $fromMail2 . " \n"
. "RES : " . $res . " \n\n"
//20100515_takehana_com1
//        . _MMAIL_MAIL . " \n\n"
. postVar('message');
$message .= getMailFooter();

あと、メールアドレスを記載しなくてもフォームを送れるようにしました。

nucleus/lib/ACTION.php の function validateMessage() 冒頭
function validateMessage() {
global $CONF, $member, $manager;
if (!$CONF['AllowMemberMail'])
return _ERROR_MEMBERMAILDISABLED;
//20100515_takehana_com_s
/*
if (!$member->isLoggedIn() && !$CONF['NonmemberMail'])
return _ERROR_DISALLOWED;
if (!$member->isLoggedIn() && (!isValidMailAddress(postVar('frommail'))))
return _ERROR_BADMAILADDRESS;
*/
//20100515_takehana_com_e

これでメンバーのメールが携帯メールでも、フォームを送信しやすくなりました。

コメント

タイトルとURLをコピーしました