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
- Failed to generate functions SSL
```appwrite-worker-certificates | Cannot renew domain (functions.domain.com) on attempt no. 9 certificate: Failed to verify domain DNS records. appwrite-worker...
- Dart 3.10 runtime on self-host 1.8.1
I added dart-3.10 runtime in .env file, applied the changes, but cannot see such option on console. is dart 3.10 not supported by self hosted 1.8.1? if not, whe...
- Guideline of AI
Hello everyone, I’m planning to specialize in Artificial Intelligence (AI) and I’m currently looking for guidance from someone with strong experience in the fi...