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