Отправка почты работает неправильно

СИТУАЦИЯ
У меня есть резервная система для ресторана, и я пытаюсь отправить данные из своего wpdb себе с помощью функции mail() около 3 вечера. Поэтому я получаю обзор всех оговорок на текущий день. Все работает отлично, за исключением моей функции mail() потому что она просто отправляет данные одной оговорки, но есть две оговорки на текущую дату 30-03-2017. Когда я echo $message_mail . '<br>'; echo $message_mail . '<br>'; внутри WP_loop он отображает 2 резервирования правильно. Но тогда мой почтовый код отправляет только одну броню внутри почты.

Если я поставлю почтовый код в цикле, он отправит 2 отдельных письма. Это тоже не намерение. Я пробовал функцию wp_mail (), но не работает.

ВОПРОС

Я просто хочу по электронной почте каждый день со всей информацией о бронировании. Может кто-то помочь мне с этим? заранее спасибо

 <?php date_default_timezone_set('Europe/Amsterdam'); $current_date = date("dmY"); //echo $current_date . '<br>'; $get_all_reservations_on_date = array( 'post_type' => 'reserveringen', 'meta_key' => 'datum', 'meta_value' => $current_date, ); $all_reservations_on_day_query = new WP_Query( $get_all_reservations_on_date); //print_r($all_reservations_on_day_query); //wordpress loop voor mail om 15:00 uur. if ( $all_reservations_on_day_query->have_posts() ) : //the loop while ( $all_reservations_on_day_query->have_posts() ) : $all_reservations_on_day_query->the_post(); //Get all values for sending mail to owner based on date. $klant_naam_mail = get_post_meta($post->ID, 'klant_naam', true); $email_mail = get_post_meta($post->ID, 'email', true); $telnr_mail = get_post_meta($post->ID, 'telefoonnummer', true); $datum_mail = get_post_meta($post->ID, 'datum', true); $aantal_personen_mail = get_post_meta($post->ID, 'aantal_personen', true); $opmerking_mail = get_post_meta($post->ID, 'opmerking', true); //the message for the mail $message_mail ="Naam: $klant_naam_mail\nEmail: $email_mail\nTelefoonnummer: $telnr_mail\nDatum: $datum_mail\nAantal personen: $aantal_personen_mail\nOpmerking: $opmerking_mail"; echo $message_mail . '<br>'; endwhile; //end of the loop wp_reset_postdata(); else : $send_no_reservation_to = "mymail@gmail.com"; $from_no_mail = "info@restaurant.nl"; $subject_no_reservation = "Alle reserveringen van de dag"; $message_no_reservation = "Er zijn voor deze dag geen reserveringen"; $headers_no_mail = 'From:' . $from_no_mail . "\r\n"; mail($send_no_reservation_to,$subject_no_reservation,$message_no_reservation,$headers_no_mail); endif; ?> 

ПОЧТОВЫЙ КОД

 <?php $date_time = date("dmY H:i:s"); //$date_time = date("dmY 15:15:00"); //echo $date_time . '<br>'; if ($date_time == date("dmY 15:15:00")){ $to_all_reservations = "info@restaurant.com"; $from_all_reservations = "reserveringsformulier@restaurantinger.nl"; $subject_all_reservations = "Alle reserveringen voor $current_date"; $message_all_reservations = $message_mail; $headers_all_reservations = 'From:' . $from_all_reservations . "\r\n"; mail($to_all_reservations,$subject_all_reservations,$message_all_reservations,$headers_all_reservations); } else { } ?> 

Solutions Collecting From Web of "Отправка почты работает неправильно"

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

 if ( $all_reservations_on_day_query->have_posts() ) : //the loop $message_mail = ""; while ( $all_reservations_on_day_query->have_posts() ) : $all_reservations_on_day_query->the_post(); //Get all values for sending mail to owner based on date. $klant_naam_mail = get_post_meta($post->ID, 'klant_naam', true); $email_mail = get_post_meta($post->ID, 'email', true); $telnr_mail = get_post_meta($post->ID, 'telefoonnummer', true); $datum_mail = get_post_meta($post->ID, 'datum', true); $aantal_personen_mail = get_post_meta($post->ID, 'aantal_personen', true); $opmerking_mail = get_post_meta($post->ID, 'opmerking', true); //the message for the mail //concatenate the messages together $message_mail .="Naam: $klant_naam_mail\nEmail: $email_mail\nTelefoonnummer: $telnr_mail\nDatum: $datum_mail\nAantal personen: $aantal_personen_mail\nOpmerking: $opmerking_mail"; endwhile; echo $message_mail . '<br>';