# Create admin account(s) in app.yml without email confirmation

**URL:** https://meta.discourse.org/t/create-admin-account-s-in-app-yml-without-email-confirmation/53934
**Category:** Feature
**Created:** [December 7, 2016, 5:50pm UTC](https://meta.discourse.org/t/create-admin-account-s-in-app-yml-without-email-confirmation/53934 "2016-12-07T17:50:11Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [December 7, 2016, 5:50pm UTC](https://meta.discourse.org/t/create-admin-account-s-in-app-yml-without-email-confirmation/53934/1 "2016-12-07T17:50:11Z")

</div>

On a new site, if mail configuration is broken (e.g., not activated in Mailgun), the admin can’t get an email to log in and cannot see the mail logs to diagnose the problem.

For as long as I’ve known about WordPress, it’s start-up flow just lets the first person who creates an account be the admin. Apparently this hasn’t been a significant security problem for that platform. Since Discourse further protects sites from hijacking via the `DISCOURSE_DEVELOPER_EMAILS` variable, I see no security downside to bypassing email verification for addresses in `DISCOURSE_DEVELOPER_EMAILS`.

If those addresses bypassed email verification admins could immediately log in to be able to check email logs to diagnose email problems.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [December 7, 2016, 11:22pm UTC](https://meta.discourse.org/t/create-admin-account-s-in-app-yml-without-email-confirmation/53934/2 "2016-12-07T23:22:53Z")

</div>

> [@pfaffman](#):
>
> If those addresses bypassed email verification admins could immediately log in to be able to check email logs to diagnose email problems.

They can already log in via SSH to check the rails logs, as covered in our email troubleshooting #howto guide.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [December 8, 2016, 12:20am UTC](https://meta.discourse.org/t/create-admin-account-s-in-app-yml-without-email-confirmation/53934/3 "2016-12-08T00:20:01Z")

</div>

> [@codinghorror](#):
>
> They can already log in via SSH to check the rails logs, as covered in our email troubleshooting #howto guide.

I would argue that if that were the case, they wouldn’t be paying me to do the install. (But I’ll add a link to that document to my instructions! Thanks.) For people

Let’s pretend that `ssh`ing in and using `less` or `more` to peruse the logs is easy. When I look at the logs, I don’t see the `[Sender] 554 Please activate your Mailgun account. Check your inbox or log in to your control panel to resend the activation email.` message that I see if I visit `/admin/email/skipped`.

So [this user](https://meta.discourse.org/t/did-not-get-admin-registration-screens-after-finstall/53925/10) still would not have been able to tell (from Discourse, anyway) what the problem was. I’ve added stronger “If you don’t make Mailgun happy you won’t be able to use Discourse” to my notes, but I’m inclined to just `rake admin:create` an account for them so that they can at least log in.

Normal People are terrified of a command line. A guy I helped recently (who’d purchased an install) I’m pretty sure had never logged in to his droplet and never even done an upgrade for well over a year.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [December 8, 2016, 4:27am UTC](https://meta.discourse.org/t/create-admin-account-s-in-app-yml-without-email-confirmation/53934/4 "2016-12-08T04:27:29Z")

</div>

I think it might be worse to let them get the impression their site is working, when nobody can sign up for it except them.
