Can't send verification email. On the client side registration process after calling this.account.create()
I tried to send Email verification by using this.account.createVerification('http://localhost:4200/verify');
but this fails. In the docker-compose logs -f --tail=50 appwrite
I see following error:
khashashin@dockers-khasdev:~/appwrite$ docker-compose logs -f --tail=50 appwrite
Attaching to appwrite
appwrite | Worker 1 started successfully
appwrite | Worker 2 started successfully
appwrite | Worker 3 started successfully
appwrite | Worker 4 started successfully
appwrite | [Setup] - Server database init started...
appwrite | [Setup] - Creating database: appwrite...
appwrite | [Setup] - Server database init completed...
appwrite | Server started successfully (max payload is 6,291,456 bytes)
appwrite | Master pid 1, manager pid 8
appwrite | [Error] Timestamp: 2023-07-01T23:27:55+00:00
appwrite | [Error] Type: Utopia\Exception
appwrite | [Error] Message: Not Found
appwrite | [Error] File: /usr/src/code/vendor/utopia-php/framework/src/App.php
appwrite | [Error] Line: 803
appwrite | [Error] Timestamp: 2023-07-01T23:28:18+00:00
appwrite | [Error] Method: POST
appwrite | [Error] URL: /v1/account/verification
appwrite | [Error] Type: TypeError
appwrite | [Error] Message: Appwrite\Event\Mail::setRecipient(): Argument #1 ($recipient) must be of type string, null given, called in /usr/src/code/app/controllers/api/account.php on line 2301
appwrite | [Error] File: /usr/src/code/src/Appwrite/Event/Mail.php
appwrite | [Error] Line: 50
The user creation was successfull an I can verify in Appwrite console the user exists. The response I got from Appwrite instance was:
{"message":"Server Error","code":500,"type":"general_unknown","version":"1.3.7"}
Here is the code in client side:
register(user: UserCreate) {
const promise = this.account.create(
ID.unique(),
user.email,
user.password,
user.firstName + ' ' + user.lastName,
);
promise.then((response) => {
this.account.createVerification('http://localhost:4200/verify');
}, function (error) {
console.log(error); // Failure
});
}
Weird...this is saying the email is null...maybe you have a previous anonymous session
This code is also missing the session creation
@Steven You mean, I should call this.account.createVerification('http://localhost:4200/verify');
after creating session? Could it be anonymous session?
No it doesn't work with anonymous session at the moment. See https://github.com/appwrite/appwrite/issues/5220
Ok, thanks. By creating email session before calling this.account.createVerification('http://localhost:4200/verify');
works!
[SOLVED] [Error] Message: Appwrite\Event\Mail::setRecipient()
Recommended threads
- Update User Error
```ts const { users, databases } = await createAdminClient(); const session = await getLoggedInUser(); const user = await users.get(session.$id); if (!use...
- apple exchange code to token
hello guys, im new here 🙂 I have created a project and enabled apple oauth, filled all data (client id, key id, p8 file itself etc). I generate oauth code form...
- How to Avoid Double Requests in function...
I'm currently using Appwrite's `functions.createExecution` in my project. I want to avoid double requests when multiple actions (like searching or pagination) a...