2009-12-07 3 views
3

Я использую php и mysql. И мой сайт находится в режиме flash (полный флеш-сайт)Регистрация с проверкой подлинности электронной почты активируется только 30%?

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

Первые две недели были в порядке. Из примерно 2000 пользователей активировано 1800 пользователей. После этого активированные пользователи резко падают, примерно до 30%. Пример: 1000 пользователей подписались, только 300 были активированы.

Во-первых, я обнаружил, что проблема заключается в том, что письмо не могло быть доступно для пользователей ymail, msn и gmail. (Большинство моих подписчиков - Ymail (yahoo), hotmail/msn (live) и gmail (gmail)). Я пробовал зарегистрироваться с помощью ymail и hotmail, но у меня не было активации электронной почты. Я связался с yahoo и msn, в конечном итоге моя электронная почта может пройти сейчас.

Однако моя статистика регистрации все еще отображается, активированные пользователи составляют около 30%, что меня очень смущает. Я связываюсь с моей хостинговой компанией, спрашиваю у них белый список моего IP. И они это сделали.

мне нужна ваша консультация/помощь по следующим вопросам:

  • Как проверить, где проблема? Не отправлено ли электронное письмо? Пользователь получил электронную почту, но не нажал ссылку активации?

Я использую funpion php mail. и это мои заголовки:

$headers = 'MIME-Version: 1.0' . "\r\n"; 

    $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n"; 

    $headers .= 'From: Admin <\[email protected]>' . "\r\n"; 

    $headers .= 'Return-Receipt-To: Bounce <\[email protected]>' . "\r\n"; 

    $headers .= 'Reply-To: Admin <\[email protected]>' . "\r\n"; 

    $return_path = "\[email protected]\"; 

(скрыть свое доменное имя, и я добавить обратную косую черту в электронную почту, Потому что если нет, то электронная почта обыкновение показывать здесь, странно)

Есть ли что-нибудь неправильно с заголовками ?

  • Что я могу сделать для улучшения процесса активации регистрации/регистрации?

ответ

1

Вы должны пройти свой обратный путь, как «-f» параметр для функции почты():

mail(
    $this->recipient, 
    $subj, 
    $this->body, 
    $this->compose_headers(), 
    '-f ' . Options::obj()->mail->return_path); 

Кроме того, для достижения лучших результатов, если сервер-отправитель имеет имя домена example.com общественного , путь возврата должен быть [email protected]

В любом случае, вы должны обязательно проверить журналы (/ var/log/mail *), чтобы точно знать, что происходит.

+0

Привет Иван, это мой отправить скрипт: почта (. $ ToUser, $ при условии, $ тела, $ заголовки, "-f" $ return_path) Я использую php mail() – mysqllearner

+0

Есть ли разница? Должен ли я вставить весь мой почтовый код отправки здесь? – mysqllearner

+0

-f, и эта обратная способность поиска DNS ([email protected] из примера .com) имеет огромное значение, по моему опыту. –

0

У вас есть доступ к файлам журналов сервера электронной почты, отправляющим регистрационные письма? Любые возвращенные сообщения обычно возвращаются на отправляющий сервер. Контролируя файлы журнала, вы можете проверить и узнать, какое количество писем (если они есть) все еще возвращаются.

Каким образом пользователи могут иметь доступ к вашему веб-сайту без активированного адреса электронной почты? Отключены ли какие-либо функции? Существуют ли какие-либо стимулы для активации или использования реального адреса электронной почты?

+0

@ pygorex1: У меня нет файлов журнала. Где я могу получить это? В принципе, пока учетная запись пользователя не будет активирована, пользователь ничего не сможет сделать. – mysqllearner

+0

Вам нужно будет спросить своего хостинг-провайдера о доступе к файлам журнала. – leepowers

+0

Вопрос, но я думаю, что нужно подождать 24 часа.Я использую plesk, любую идею о том, где находится файл? – mysqllearner

1

Попробуйте использовать gmail как ваш smtp-сервер istead почтового сервера, например sendmail из домена. Использование gmail smtp будет гарантировать, что ваши письма будут отправлены с наилучшими усилиями. Также Gmail не будет рассматриваться как спам, если идентификатор электронной почты не будет помечен как спам (попробуйте использовать безопасный).Чтобы улучшить singup-> активацию, поставите свой лучший выбор, чтобы убедиться, что электронная почта достигает входящих сообщений пользователя.

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

Если вам неудобно использовать gmail как smtp, вы можете зарегистрировать домен ur с помощью приложений google (но это может потребовать изменений в бизнес-потребностях), и вы можете иметь адрес электронной почты [email protected] и использовать эффективный gmail smtp сервера.

Существует много библиотек, таких как phpMAiler, что позволяет использовать внешние smtp-серверы. Обратите внимание, что все данные через серверы gmail проходят через SSL или TSL.

+0

Можно ли использовать Gmail smtp ?? Я слышал о phpmailer, и теперь я сравниваю его с swiftmailer. Повторная ссылка активации может показаться хорошей идеей, но если ее не удается пройти через свой почтовый ящик, нечего использовать для спама, щелкнув по нему правильно? Я имею в виду, это просто не пройдет (ну, это я, хотя), если я не ошибаюсь :( – mysqllearner

0

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

Поиск RFC2822 для получения информации о том, что требуется,

 Смежные вопросы

  • Нет связанных вопросов^_^