Что вам нужно сделать, это в первую очередь проверить правильность адреса электронной почты пользователя. Вот хорошие проходные, который показывает, как сделать это:
http://code.tutsplus.com/tutorials/how-to-implement-email-verification-for-new-members--net-3824
Вы также хотите, отказ от ответственности, как доказательство того, что они дали вам разрешение на отправку электронных писем от их имени.
Disclaimer: by enrolling for this service you are granting this
app permission to send emails on your behalf.
Далее вы хотите создать функциональную учетную запись электронной почты, принадлежащую вашему приложению. Например:
Затем, но не в последнюю очередь, продолжайте использовать PHPMailer, но используйте его по-разному. Аутентификация и отправка писем из функциональной учетной записи вашего приложения, но укажите адрес AddReplyTo как адрес и имя вашего клиента. Например:
select email, firstname from client;
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'tsl';
$mail->SMTPDebug = 1;
$mail->Host = [email protected];
$mail->Port = EMAIL_PORT;
$mail->Username = [email protected];
$mail->Password = yourpass;
$mail->SetFrom('[email protected]', 'Functional Mailer');
$mail->AddReplyTo('(email from select)', '(firstname from select)');
Непонятно, используете ли вы в настоящее время 'Mailchimp', или просто даете пример функциональности, которую они имеют, и вы хотели бы имитировать. –
Если вы попытаетесь подделать свой адрес электронной почты, в зависимости от настройки, ваши письма будут помечены как спам или полностью отброшены. Вы действительно должны пойти по-другому, чтобы отправлять электронные письма. – DanFromGermany
Не делайте этого, за исключением случаев, когда ваш сервер явно уполномочен отправлять электронную почту по регистрам домена SPF адреса, который вы хотите использовать в качестве отправителя. Или вы закончите спам и, возможно, получите свой сервер в черном списке. – vard