Mixpost
-
@humptydumpty I did also play with my .env credentials and put them in quotation marks among other things:
# SMTP MAIL_MAILER="smtp" MAIL_HOST="mail" MAIL_PORT="2525" MAIL_USERNAME="app@domain.tld" MAIL_PASSWORD="grjk34jkl6543jklerjkl34jkl5lkj3436df4334" MAIL_ENCRYPTION="ssl" MAIL_FROM_ADDRESS="app@ domain.tld" MAIL_FROM_NAME="${APP_NAME}"
That was a few days ago though. Maybe this in combination with the update fixed this.
-
You're using SSL instead of TLS. Yeah, by default, only the mail_from_address had quotations which I found odd. Let me copy yours and see how it goes.
-
@humptydumpty said in Mixpost:
@andreasdueren BTW, in your Cloudron > Email, is your mail server name smtp or mail?
I have it as mail. In credentials.txt, it shows mail as value for the first two lines.
Mail server location is
mail
. Also showsmail
in the credentials. -
@humptydumpty said in Mixpost:
You're using SSL instead of TLS. Yeah, by default, only the mail_from_address had quotations which I found odd. Let me copy yours and see how it goes.
Yes it's one of the changes I made. But I reckon both should work.
-
No luck yet. I'm starting to suspect my server set up.
- cloudron #1 ("mail" mail server for incoming + SMTP relay for outgoing)
- cloudron #2 - mixpost is installed here (no incoming mail + SMTP relay for outgoing)
All other apps can send and receive mail on cloudron #2 (receiving goes thru CR #1 obviously) just fine so I know the setup works.
Later today I'll try creating a dedicated SMTP user in Mailgun and using that instead to bypass any possible server config issues.
-
Using SMTP relay user credentials didn't work either. In the Mixpost dashboard > admin console > Laravel Horizon, you can see the failed jobs. Here's the code from the failed "reset password" job. In the terminal, you can also see Horizon running the reset password notification job and then it fails (see screenshot).
Exception Illuminate\Queue\MaxAttemptsExceededException: Inovector\Mixpost\Notifications\ResetPassword has been attempted too many times. in /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Queue/MaxAttemptsExceededException.php:24 Stack trace: #0 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(785): Illuminate\Queue\MaxAttemptsExceededException::forJob() #1 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(519): Illuminate\Queue\Worker->maxAttemptsExceededException() #2 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(428): Illuminate\Queue\Worker->markJobAsFailedIfAlreadyExceedsMaxAttempts() #3 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(389): Illuminate\Queue\Worker->process() #4 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(176): Illuminate\Queue\Worker->runJob() #5 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(137): Illuminate\Queue\Worker->daemon() #6 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(120): Illuminate\Queue\Console\WorkCommand->runWorker() #7 /app/data/mixpost-pro-team-app/vendor/laravel/horizon/src/Console/WorkCommand.php(51): Illuminate\Queue\Console\WorkCommand->handle() #8 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Laravel\Horizon\Console\WorkCommand->handle() #9 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() #10 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure() #11 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod() #12 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call() #13 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\Container\Container->call() #14 /app/data/mixpost-pro-team-app/vendor/symfony/console/Command/Command.php(326): Illuminate\Console\Command->execute() #15 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\Component\Console\Command\Command->run() #16 /app/data/mixpost-pro-team-app/vendor/symfony/console/Application.php(1096): Illuminate\Console\Command->run() #17 /app/data/mixpost-pro-team-app/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand() #18 /app/data/mixpost-pro-team-app/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun() #19 /app/data/mixpost-pro-team-app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\Component\Console\Application->run() #20 /app/data/mixpost-pro-team-app/artisan(35): Illuminate\Foundation\Console\Kernel->handle() #21 {main}
Exception Context null
Data { "notifiables": { "class": "Inovector\Mixpost\Models\User", "id": [ 1 ], "relations": [ ], "connection": "mysql", "collectionClass": null }, "notification": { "token": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "id": "XXXXXXXXXXXXXXXXXXXXXXXXXX", "locale": "en-GB" }, "channels": [ "mail" ] }
Note: XXXXXXX values are hidden for privacy
@lao9s Can you please take a look at this? P.S. I opened a ticket on discord that went unanswered.
-
@humptydumpty just to double check credentials, you can try the swaks CLI tool in the web terminal. See https://docs.cloudron.io/packaging/addons/#sendmail for an example
-
@andreasdueren said in Mixpost:
Mail server location is mail. Also shows mail in the credentials.
The mail server location is for the "external facing" domain name. So, it would be
mail.domain.com
for the external world. Themail
that you use in the env variables is the internal DNS i.e the mail container is namedmail
internally. Both these are totally different!mail
containers name will not change in the foreseeable future butmail.domain.com
could be changed by user to whatever they want. -
@humptydumpty I'm not using my Cloudron for incoming mail either. So I don't think this is an issue.
-
I'm not sure if I'm using the swaks command right. In the app's terminal, I typed
swaks
it saidTo
, I pasted the >swaks bla bla (first line), it said connection refused on port 25. Did the same for the second line and got the same result.Anyway, I think there's a mistake in the docs: https://docs.cloudron.io/packaging/addons/#sendmail where it says
CLOUDRON_MAIL_DOMAIN= # the domain name to use for email sending (i.e username@domain)
shouldn't it be mydomain.com and not username@domain? -
All this just makes it clear to me that this app needs packaging so everything Just Works, as is the Cloudron way.
-
@humptydumpty you should be able to cut and paste the command as-is and it will work. The port is not 25, it's 2525
I will fix the typo in the docs, but it's trying to say the "i.e the domain part of username@domain"
-
@humptydumpty I guess it means it is either a configuration issue or a mixpost issue because Cloudron side is OK
-
@humptydumpty here is my complete .env file in case there is something else in there that's useful:
Did you activateMIXPOST_FORGOT_PASSWORD=true
for example?# You app name. It is usually equal to the name of your project. APP_NAME='tld.ld' # Your application environment. If you are ready for production, set 'production' APP_ENV=production # Is used to encrypt and decrypt sensitive data. Generate it with: 'php artisan key:generate' APP_KEY=base64:yfWnd+DKiAnIPluqqzkREDlLGdqXoxibScsdyFjmIwo= # Debug mode. If the environment is in production, we recommend setting it to 'false' APP_DEBUG=false # URL of your application. Important: it is not allowed to be a slash at the end of the url. APP_URL=https://app.tld.ld APP_DOMAIN=app.tld.ld # Mysql connection setup DB_CONNECTION=mysql # Change this only if you know what you are doing DB_HOST=mysql DB_PORT=3306 DB_DATABASE="250d30918200a8b2" DB_USERNAME="250d30918200a8b2" DB_PASSWORD="06c15ecba68b9e77baf5f6ab246dff2dfd6a2676479c46a1" # Redis connection setup REDIS_HOST=redis-ef2a63d9-1366-42fe-a555-87818d6f1633 REDIS_PASSWORD=683300f802ec17947a4a1c9fbe0951c7aed452106c00c257 REDIS_PORT=6379 # Default Queue Connection Name QUEUE_CONNECTION=redis # Default Cache Store CACHE_DRIVER=redis # Default Session Driver SESSION_DRIVER=redis # Default log channel for Mixpost MIXPOST_LOG_CHANNEL=mixpost # change URL prefix "/mixpost" MIXPOST_CORE_PATH="a" # The disk on which to store added files. Disks: "public", "s3". For "s3" you should fill in the AWS_* credentials below. MIXPOST_DISK=public # AWS Credentials These are filled in but not in use. # SMTP MAIL_MAILER="smtp" MAIL_HOST="mail" MAIL_PORT="2525" MAIL_USERNAME="app@tld.ld" MAIL_PASSWORD="9b7e07a5419758685560d4741270044e4a846a1e1211b5a6" MAIL_ENCRYPTION="ssl" MAIL_FROM_ADDRESS="app@tld.ld" MAIL_FROM_NAME="${APP_NAME}" # Sentry SENTRY_LARAVEL_DSN=null MIXPOST_FORGOT_PASSWORD=true MIXPOST_TWO_FACTOR_AUTH=true MIXPOST_DEFAULT_LOCALE=de-DE
-
Thanks @andreasdueren I have a lot of missing entries compared to yours. Somehow none of these got set up on a fresh Mixpost install, but adding them didn't resolve the issue
* APP_ENV=production * APP_DOMAIN=app.tld.ld (adjusted to same value as APP_URL) * QUEUE_CONNECTION=redis * CACHE_DRIVER=redis * SESSION_DRIVER=redis * MIXPOST_FORGOT_PASSWORD=true * MIXPOST_TWO_FACTOR_AUTH=true * MIXPOST_DEFAULT_LOCALE=de-DE (adjusted to en-US)
-
@humptydumpty said in Mixpost:
Thanks @andreasdueren I have a lot of missing entries compared to yours. Somehow none of these got set up on a fresh Mixpost install, but adding them didn't resolve the issue
* APP_ENV=production * APP_DOMAIN=app.tld.ld (adjusted to same value as APP_URL) * QUEUE_CONNECTION=redis * CACHE_DRIVER=redis * SESSION_DRIVER=redis * MIXPOST_FORGOT_PASSWORD=true * MIXPOST_TWO_FACTOR_AUTH=true * MIXPOST_DEFAULT_LOCALE=de-DE (adjusted to en-US)
I remember pulling some of these off here. Sorry that didn't help.
-
@humptydumpty If you care, I can offer to take a look at your installation and compare to what I'm running to try to troubleshoot.
-
@andreasdueren I'll take you up on that if I can't figure this out after a fresh install attempt. I won't follow the guide we have on here and will follow the upstream docs this time. It's not a CR issue for sure. I have a ticket opened on Mixpost's Discord, and other non-CR users can't receive emails either.