Как вставить почтовые адреса из базы данных в скрипт отправки почты

Есть ли способ вставить данные из таблицы в скрипт отправки почты? Я сделал этот простой скрипт, но он не работает. Как смешать эти 2 кода?

$result = mysql_query("SELECT * FROM tablename WHERE ID =1" ) or die(mysql_error()); while($row = mysql_fetch_array( $result )) { echo ''. $row['maillist'] .''; }

$to = 'here must be maillist row';  
$subject = 'my subject:';  
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";  
$message = 'html content with img src tag';  

mail($to, $subject, $message, $headers); 

Мой второй вопрос: если я использую скрытую копию, тогда gmail или другие почтовые службы отображают полный код сообщения со всеми тегами, но не отображают изображение. Итак, есть ли возможный способ решить эту проблему?

Мой третий вопрос: если я вставляю изображение в сообщение (смотрите код), то сообщение появляется в СПАМе, ​​но если я использую только основной текст, то все нормально. Как это исправить?

Буду благодарен за любые ответы и помощь!


person user2090528    schedule 28.02.2013    source источник


Ответы (1)


$q = "SELECT email FROM table WHERE id = '" . $id . "'";
$r = mysql_query($q) or die(mysql_error().'<br />'.$q);
$d = mysql_fetch_assoc($r);

$to = $d['email']:
$subject = 'my subject:';  
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";  
$message = 'html content with img src tag';  

mail($to, $subject, $message, $headers);

Если вы хотите отправить электронное письмо нескольким людям:

$subject = 'my subject:';
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$message = 'html content with img src tag';

$q = "SELECT email FROM table WHERE id = IN (" . $array_ids . ")";
$r = mysql_query($q) or die(mysql_error().'<br />'.$q);
while($row = mysql_fetch_assoc($r)) {
    $to = $row['email']:
    mail($to, $subject, $message, $headers);
}

Что касается проблемы со СПАМом, я бы сказал, попробуйте установить такой заголовок

$headers .= 'Content-type: image/jpeg' . "\r\n";
person pistou    schedule 28.02.2013
comment
в обоих методах я получаю сообщение об ошибке. Я думаю, что с этой строкой что-то не так: $r = mysql_query($q) or die(mysql_error.'‹br /›.$q); - person user2090528; 28.02.2013
comment
Да, это было плохо, теперь все должно быть хорошо - person pistou; 28.02.2013
comment
Нет, все еще получаю ошибку. Возможно ли, что две первые строки в моем коде плохи для почтового скрипта? Я имею в виду: include('config.php'); и if(isset($_POST['submit'])) { - person user2090528; 28.02.2013
comment
Файл php не может быть загружен. Я имею в виду, когда я нажимаю кнопку отправки, страница не загружается. Ошибка браузера: ошибка HTTP 500 (внутренняя ошибка сервера): сервер пытался выполнить запрос, обнаруженный в непредвиденном состоянии. - person user2090528; 28.02.2013