2013-12-13 6 views
0

Привет, люди из stackoverflow. Мне нужна помощь с PHP-скриптом, который у меня есть. Проблема в том, что он не отправляет никаких сообщений по электронной почте. Я попробовал несколько других тем, но он не работает достаточно хорошо ..PHP mail MYSQL DB

Вот мой почтовый (Config уже был включен) код:

<?php 
$sql = "SELECT email FROM users"; 
    $res = mysql_query($sql) or die(mysql_error()); 

    while($row = mysql_fetch_assoc($res)) 
    { 
     $area .= $row['email']. ", "; 

    } 
?> 
<?php 
if(isset($_POST['submit'])){ 


$email_list = explode(',', $area); 
$message = $_REQUEST['bericht']; 
$to = $email_list; 

@mail($to,"Message","$message". "\n\n". "Met vriendelijke groet,". "\n". "Brian","From: [email protected]$siteurl"); 
} 
?> 

Что не так с этим кодом? Благодаря!

+0

Для начала вы подавляете сообщения об ошибках из почты с помощью @. Вы действительно получаете какие-либо адреса электронной почты из своего запроса? Что находится в '$ to' - похоже, с' explode() ', что это массив; вы проверили документацию, чтобы узнать, можете ли вы передать массив как список To? – andrewsi

+0

@andrewsi Я создал еще один php-файл, просто обычный, чтобы увидеть, если его гребень электронной почты. И он действительно строит электронную почту. Я вижу 4 письма из БД теперь – user3096407

+0

@andrewsi спасибо, я нашел его благодаря вашей помощи и от mjayt .. Я владею вами, ребята, один! Вы, ребята, сделали свой день ;-) – user3096407

ответ

0
<?php 
$sql = "SELECT email FROM users"; 
    $res = mysql_query($sql) or die(mysql_error()); 

    while($row = mysql_fetch_assoc($res)) 
    { 
     $area .= $row['email']. ", "; 

    } 
?> 
<?php 
if(isset($_POST['submit'])){ 

$message = $_REQUEST['bericht']; 
$to = $area; 

@mail($to,"Message","$message". "\n\n". "Met vriendelijke groet,". "\n". "Brian","From: [email protected]$siteurl"); 

Выньте взрыв и попробуйте использовать только код, указанный выше. mail() хочет, чтобы несколько адресов в поле делились запятыми, поэтому нет смысла взорвать их запятыми. Как сказал andrewsi, это затем переходит к функции почты как массив.

+0

Ну что ж, для быстрого комментария .. Я попробовал это уже без везения .. – user3096407

+0

@ user3096407 - начните с основ, в этом случае. Замените «$ to» на свой адрес электронной почты и посмотрите, работает ли это, когда это единственное изменение. Если да, то 'var_dump ($ to)' и посмотреть, что там, и хорошо ли оно выглядит. – andrewsi

+0

@mjayt спасибо Я нашел его благодаря вашей помощи и от andrewsi. Я владею вами, ребята, один! Вы, ребята, сделали мой день ;-) – user3096407