2
zend 프레임 워크를 사용하여 여러 이메일을 한 번에 콜론으로 구분하는 양식이 있습니다.Zend는 데이터베이스에있는 이메일을 보내지 못하게합니다.
이미 데이터베이스에있는 전자 메일을 보내지 않고 존재하지 않는 전자 메일을 보내지 못하게 할 방법이 있습니까?
는 여기에 몇 가지 여기 :
HTML -----
<form method="post" action="<?php echo $this->url(array(), 'inviteByEmail'); ?>">
<table><tr>
<td>Email Addresses:* <span class="right small_font" style="margin-right:25px;">* Each email address must be separated by a comma (,)</span></td>
<td></td>
</tr><tr>
<td><input class="input_long" type="text" name="emails" /></td>
</tr><tr>
<td><br/>Personalize your message:</td>
</tr><tr>
<td><textarea cols="49" rows="7" name="personal_message" id="share-text" style="margin-bottom:8px;" placeholder="Download Ad-Aware and help me get PRO version" ></textarea></td>
</tr><tr>
<td rowspan="3" valign="top">
<input type="submit" class="btn_submit_step3" id="btn_friends" value="share_friends" /><br/>
</td>
</tr></table>
</form>
컨트롤러 액션 -----
public function inviteByEmailAction()
{
$emails = $this->getRequest()->getParam('emails');
$personal_message = $this->getRequest()->getParam('personal_message');
$emails = explode(",", $emails);
foreach ($emails as $email)
{
$email = trim($email);
$validator = new Zend_Validate_EmailAddress();
if ($validator->isValid($email))
{
if ($this->_helper->model('EmailInvites')->noRowByFields(array('email' => $email, 'referred_by_user_id' => $this->_helper->user()->id)))
{
$email_invite = $this->_helper->model('EmailInvites')->createRow();
$email_invite->email = $email;
$email_invite->personal_message = $personal_message;
$email_invite->referred_by_user_id = $this->_helper->user()->id;
$email_invite->save();
$this->_helper->user()->sendInviteEmail($email, $personal_message);
}
}
}
$this->getHelper('redirector')->gotoRoute(array(), 'invite');
}
그리고 모델은 이메일을 보낼 수있는 기능이 있습니다.
난 그냥 데이터베이스 테이블을 확인하기 위해 컨트롤러에 zend_validate_db_norecordexists을, 내가 밖으로 방법을 찾을 생각 : 여기
이 작업을 수행하려면 psedo 기능입니다. –