✏️ 正在编辑: Mail.php
路径:
/srv/systems_dir/koruspay/library/Core/Mail.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Core_Mail extends Zend_Mail { protected $_transport; protected $_mail; public function __construct($charset = null) { $config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini'); if( !file_exists(APPLICATION_PATH . '/configs/application.ini') || !@$config->production->amazon->smtp ){ return ['status' => 0, 'msg' => "Sistema não possui as configurações mínimas para envio da mensagem." ]; } $this->_transport = new Zend_Mail_Transport_Smtp('email-smtp.us-east-1.amazonaws.com', $config->production->amazon->smtp->toArray()); $this->_mail = new Zend_Mail('UTF-8'); $this->_mail->setDefaultTransport($this->_transport); //seta o servidor smtp parent::__construct($charset); } protected function newMessage(){ $this->_mail->clearRecipients(); $this->_mail->clearMessageId(); $this->_mail->clearSubject(); $this->_mail->setMessageId(); //seta o id da mensagem } public function enviarMensagemHtml($nomeDe, $emailDe, $nomePara, $emailPara, $assunto, $mensagem, $emailsAdicionais = array(), $receberEmailsComCopia = array(), $anexos = array()) { $validateEmail = new Zend_Validate_EmailAddress(); if( !$validateEmail->isValid($emailDe) ){ return ['status' => 0, 'msg' => "O e-mail " . $emailDe . " do remetente é inválido." ]; } if( !$validateEmail->isValid($emailPara) ){ return ['status' => 0, 'msg' => "O e-mail " . $emailPara . " do destinatário é inválido." ]; } try { $this->newMessage(); $this->_mail->setReturnPath($emailDe); $this->_mail->addHeader('Errors-To', $emailDe, true); //seta o header com o e-mail para retorno dos erros - recebe os bounces $this->_mail->setFrom($emailDe, $nomeDe); $this->_mail->addTo($emailPara, $nomePara); $this->_mail->setSubject($assunto); $this->_mail->setBodyHtml($mensagem, "UTF-8"); if ($emailsAdicionais) { foreach ($emailsAdicionais as $adicional) { $adicional['email'] = strtolower($adicional['email']); if (isset($adicional['receber_email']) && $adicional['receber_email'] == 1) { $this->_mail->addCc($adicional['email'], $adicional['nome']); } } } if ($receberEmailsComCopia) { foreach ($receberEmailsComCopia as $receberEmail) { if ($receberEmail['email']) { $this->_mail->addCc($receberEmail['email'], $receberEmail['nome']); } } } if ($anexos) { foreach ($anexos as $anexo) { $this->_mail->createAttachment( file_get_contents($anexo), Zend_Mime::TYPE_OCTETSTREAM, Zend_Mime::DISPOSITION_ATTACHMENT, Zend_Mime::ENCODING_BASE64, basename($anexo) ); } } $this->_mail->send($this->_transport); return ['status' => 1, 'msg' => 'Mensagem enviada com sucesso.']; } catch (Exception $e) { return ['status' => 0, 'msg' => $e->getMessage()]; } } }
💾 保存文件
← 返回文件管理器