Хорошо, я переработал его, но это не работает, но он работает и проверял это в URL-адресе, а также проверял через cronjobs.Неожиданная пустая страница с PHP-скриптом электронной почты
<html>
<head>
<title>J~Net Birthday Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<body style="background:#0066CC">
<font color="orange" font size="+1">
<center>
<?php
error_reporting(E_ALL); ini_set('display_errors', "0");
$id = '';
$email = '';
$numrows = '';
function sendHTMLemail($HTML,$from,$to,$subject) {
$from = "[email protected]";
$subject = "Happy Birthday ";
$headers = "From: $from\r\n";
$HTML = '
<body style="background:#0066CC">
<STYLE TYPE="text/css">
BODY {background-image: url(\'http://www.jnetscripts.com/apps/balance/images/images(9).jpeg\');
background-repeat; }
</STYLE>
<font color="orange" font size="+1"><center>
<a href="http://www.jnetscripts.com"><img src="http://www.jnetscripts.com/images/logo.png" height="80px" ></img></a>
<p><br>
<p>
Happy Birthday To You!<p>
Happy Birthday To You!<p>
Happy Birthday To You!<p>
Happy Birthday To You!<p>
<p><br>
Have A Great Day From J~Net<p>
<a href="http://www.jnetscripts.com"><img src="http://www.jnetscripts.com/images/logo.png" height="80px" ></img></a>';
$headers .= "MIME-Version: 1.0\r\n";
$boundary = uniqid("HTMLEMAIL");
$headers .= "Content-Type: multipart/alternative;".
"boundary = $boundary\r\n\r\n";
$headers .= "This is a MIME encoded message.\r\n\r\n";
$headers .= "--$boundary\r\n".
"Content-Type: text/plain; charset=ISO-8859-1\r\n".
"Content-Transfer-Encoding: base64\r\n\r\n";
$headers .= chunk_split(base64_encode(strip_tags($HTML)));
// Now we attach the HTML version
$headers .= "--$boundary\r\n".
"Content-Type: text/html; charset=ISO-8859-1\r\n".
"Content-Transfer-Encoding: base64\r\n\r\n";
$headers .= chunk_split(base64_encode($HTML));
if (mail($to,$subject,"",$headers)) {
global $success;
$success++;
}
}
$now = date("d-m-y");
$out = array('-');
$in = array('');
$new_now = str_replace($out, $in, $now);
$new_now = substr($new_now, 0, 4);
echo 'Todays Date Without The Year Is ';
echo $new_now;
echo '<p>';
require_once("../php_includes/db_conx.php");
$sql = "SELECT id, username, email, dob FROM users WHERE instr(dob, '$new_now') >0";
$query = mysqli_query($db_conx, $sql);
if($query){
while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
$id = $row['id'];
$email = $row['email'];
$username = $row['username'];
}
if (sendHTMLemail($HTML,$from,$email,$subject)) {
echo 'No Birthdays today!';
} else {
echo 'Messages Sent';
}
}
?>
</head>
<body>
</body>
</html>
Я отправил это, чтобы помочь другим, которые могут хотеть дату, отформатированную в базе данных там в UK English Format (правильный путь). Скоро я могу ответить на свои вопросы (нужно больше комментариев), пожалуйста, проголосуйте, поэтому мне не нужно редактировать оригинальные разделы!
Я не вижу, оператор возврата из 'sendHTMLemail()' может ли это быть проблема? – sircapsalot
Правильный отступ сделает ваш код более читаемым. Кстати, вы используете 'mysqli_connect', а затем используете' mysql_ * 'функции? –
Когда вы запускаете скрипт, вы видите либо сообщение «Сообщение отправлено», либо «Нет дней рождения сегодня»? Если нет, у вас могут быть ошибки. В этом случае поставьте это вверху страницы 'error_reporting (E_ALL); ini_set ('display_errors', 1); 'где вы запускаете функцию, она должна находиться в тегах php вне функции, если она запущена на той же странице. –