Cakephp2, как динамически отправлять электронную почту с помощью Gmail SMTP в закрытый список рассылкиPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Cakephp2, как динамически отправлять электронную почту с помощью Gmail SMTP в закрытый список рассылки

Сообщение Anonymous »

Есть ли в php или cakephp возможность отправлять электронную почту с помощью smtp, чтобы я мог отправлять электронную почту в закрытый/внутренний список рассылки. например:

В моей компании есть список адресов электронной почты: [email protected], который можно отправить только в том случае, если человек также использует электронную почту [email protected]. за пределами этого электронного письма оно будет заблокировано. так что в cakephp есть возможность каким-то образом получить учетные данные пользователя и отправить электронное письмо от имени компании или, может быть, по электронной почте Gmail, если это группа Google

Я думаю, что то, что я на самом деле хочу, будет например, как настроить электронную почту cakephp, чтобы она отправлялась так же, как я отправляю непосредственно с почтового сервера. Если я использую Gmail, то я хочу, чтобы она выглядела как Gmail (заголовок и т. д.)

Окончательный код предположительно будет делать следующее: я буду получать учетные данные пользователей для их электронной почты и отправлять почту, используя их. вот мой код для AbcComponent.php

/*
* Abc components
*/
class AbcComponent extends Component {
public $options = array();

/**
* Constructor
**/
public function __construct(ComponentCollection $collection, $options = array()){
parent::__construct($collection,$options);
$this->options = array_merge($this->options, $options);
}

public function send_link ($user_email = null, $recipients = null, $subject = null, $message = null, $group_id = null, $user_id = null, $email_id = null, $download_password = null) {

$final_subject = $subject;
$final_recipients = $recipients;
$final_message = $message;
App::uses('CakeEmail', 'Network/Email');
$recipients = str_replace(' ', '', $recipients);
$recipients = explode(',', $recipients);
$recipient_queue_num = 1;
//Send the email one by one
foreach ($recipients as $recipient) :
$email = new CakeEmail();
$email->delivery = 'smtp';
//$email->from($user_email);
$email->from('[email protected]');
$email->to($recipient);

$email->smtpOptions = array(
'port'=>'465',
'timeout'=>'30',
'host' => 'ssl://smtp.gmail.com',
'username'=>'[email protected]', //this will be later grab from dbase based on user
'password'=>'password',
);

$email->subject($final_subject);
$email->template('download_link_email');
$email->emailFormat('both');
$email->viewVars(array('final_message' => $final_message));
if($email->send()) {
debug('email is sent');
} else {
debug('email is not sent');
}

//queue number increase for hashing purpose
$recipient_queue_num++;
endforeach;
}


Подробнее здесь: https://stackoverflow.com/questions/176 ... iling-list
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»