2015-11-02 3 views
0

Новый здесь, заранее, спасибо. У меня есть форма для вставки данных в таблицу, работающих. После вставки mail() должен отправить уведомление этому конкретному клиенту. почта() работает, если я жесткий код адрес электронной почты, но не тогда, когда адрес приходит формирует дб:mail() с почтой из таблицы mysql

mail('email-from-table','Subject','Body'); 
+0

нужно видеть больше кода чем это –

+0

Добро пожаловать в переполнение стека. Вам нужно будет расширить его и предоставить больше кода. В частности, какие переменные вы используете, как вы собираете данные из своей базы данных, каков ваш запрос? Каковы ожидаемые результаты? Пожалуйста, отредактируйте свою запись и укажите более подробную информацию. – Twisty

+0

вы можете отследить все свои поля, чтобы проверить форматирование и т. Д. –

ответ

0

Вы должны собрать адреса электронной почты из базы данных и перебрать результаты. Также mail() является наименее подробным; Я бы посоветовал использовать PEAR или другую библиотеку SMTP.

<?php 
$mysqli = new mysqli("localhost", "my_user", "my_password", "world"); 

/* check connection */ 
if ($mysqli->connect_errno) { 
    printf("Connect failed: %s\n", $mysqli->connect_error); 
    exit(); 
} 

/* Select queries return a resultset */ 
if ($result = $mysqli->query("SELECT email FROM table")) { 
    printf("<p>Select returned %d rows.</p>\r\n", $result->num_rows); 
    echo "<ul>\r\n"; 
    while($row = $result->fetch_assoc()){ 
     if(mail($row['email'], 'My Spam Subject', 'My Spam Email')){ 
      echo "<li>Spam sent to {$row['email']}</li>\r\n"; 
     } else { 
      echo "<li>Mail failed.</li>\r\n"; 
     } 
    } 
    echo "</ul>\r\n"; 
    /* free result set */ 
    $result->close(); 
} 
$mysqli->close(); 
?> 
2

проблема заключается в том, что вы используете одинарные кавычки вокруг своей переменной. будут оцениваться только переменные в двойных кавычках.

так вы пытаетесь отправить электронное письмо на actull адрес электронной почты $ email_to

mail('$email_to','',''); 

должен быть

mail("$email_to",'',''); 

или чаще

mail($email_to,'',''); 
Смежные вопросы