Php 向新用户发送注册电子邮件花费的时间太长

Php 向新用户发送注册电子邮件花费的时间太长,php,mysql,email,Php,Mysql,Email,我有一个注册脚本,用户可以在我的网站上创建。我真的很难忍受电子邮件发送的巨大延迟,这意味着注册链接在任何用户收到电子邮件之前就已经过期了 <?php } else { if (isset($_POST['n_register'])) { $mail = trim($db->EscapeString($_POST['reg_mail'])); $mail_re = trim($db->EscapeString($_POST['re

我有一个注册脚本,用户可以在我的网站上创建。我真的很难忍受电子邮件发送的巨大延迟,这意味着注册链接在任何用户收到电子邮件之前就已经过期了

 <?php
}
else
{
    if (isset($_POST['n_register']))
    {
        $mail = trim($db->EscapeString($_POST['reg_mail']));
        $mail_re = trim($db->EscapeString($_POST['reg_mail_re']));
        if (!preg_match("/^[a-zA-Z_\\-][\\w\\.\\-_]*[a-zA-Z0-9_\\-]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$/i", $mail))
        {
                    $errorMsg = $langBase->get('home-08');
                }
                elseif ($mail !== $mail_re)
                {
                    $errorMsg = $langBase->get('home-09');
                }
                elseif ($db->GetNumRows($db->Query("SELECT id FROM `[users]` WHERE `email`='".$mail."' LIMIT 1")) > 0)
                {
                    $errorMsg = $langBase->get('home-10');
                }
                elseif ($db->GetNumRows($db->Query("SELECT id FROM `[users]` WHERE `IP_regged_with`='".$_SERVER['REMOTE_ADDR']."' LIMIT 1")) > 0)
                {
                    $errorMsg = $langBase->get('home-11');
                }
                elseif ($db->GetNumRows($db->Query("SELECT id FROM `temporary` WHERE `playerid`='".$mail."' AND `active`='1' AND `area`='register' AND `time_added`+`expires`>'".time()."' LIMIT 1")) > 0)
                {
                    $errorMsg = 'You should already have an activation email from us.  Check the spam box, if not, contact us.';
                }
                elseif (!isset($_POST['acc_tos']))
                {
                    $errorMsg = $langBase->get('home-12');
                }
                else
                {
                    $extra = array(
                        'mail' => $mail,
                        'enlist' => isset($_GET['e']) ? $db->EscapeString($_GET['e']) : $ref_id,
                        'affid' => isset($_GET['aff']) ? $db->EscapeString($_GET['aff']) : $aff_id
                    );
                    $enlist_id = isset($_GET['e']) ? $db->EscapeString($_GET['e']) : $ref_id;

                    $tempID = substr(sha1(uniqid(rand())), 0, 6);
                    $db->Query("INSERT INTO `temporary` (`id`, `playerid`, `area`, `expires`, `time_added`, `extra`)VALUES('".$tempID."', '".$mail."', 'register', '10000', '".time()."', '".serialize($extra)."')");

                    mail($mail, $admin_config['game_name']['value'].' » Game Regsitration', 'href="'.$config['base_url'].'?side=signup&amp;step=2&amp;v='.$tempID.'">'.$config['base_url'].'?side=signup&amp;step=2&amp;v='.$tempID.'</a>
                                            <br />
                                            This link will remain active until <b>'.View::Time(time()+10000, true).''.$admin_config['game_name']['value'].'

你用的是哪台邮件服务器?@ultrajohn我恐怕是个完全的新手,我不确定,我会找到答案再给你回复。脚本在任何时候都是被购买的,每当你试图发送电子邮件时,你总是可以检查代码是否及时执行到完成,如果是,那么我认为问题在于你正在使用的邮件服务器。