Solved Fetch emails from a group
-
I get a Syntax Error.
- Processing uvdesk mailbox configuration.
14:06:11 ERROR [console] Error thrown while running command "uvdesk:refresh-mailbox "italerts@navarino.gr". Message: "syntax error, unexpected '?'" ["exception" => ParseError { …},"command" => "uvdesk:refresh-mailbox "italerts@navarino.gr"","message" => "syntax error, unexpected '?'"]
It is in the line : $check_mail = $check_mail ?? $address['address']; I believe is the questionmarks.
- Processing uvdesk mailbox configuration.
-
public function getEmailAddress($addresses)
{
$check_mail = "";
foreach ((array) $addresses as $address) {
if($address['address'] != null){
$email = explode(" ",$address['address']);
$check_mail = $email[1];
}
$check_mail = $check_mail ? $check_mail : $address['address'];
if (filter_var($check_mail, FILTER_VALIDATE_EMAIL)) {
return $check_mail;
}
}
return null;
}try this once , if you still getting the same error please let me know
-
I got the same error. I run the the refresh-mailbox with --verbose command and i got the below error :
- Processing uvdesk mailbox configuration.
16:38:42 ERROR [console] Error thrown while running command "uvdesk:refresh-mailbox "italerts@navarino.gr" -v". Message: "syntax error, unexpected '?'" ["exception" => ParseError { …},"command" => "uvdesk:refresh-mailbox "italerts@navarino.gr" -v","message" => "syntax error, unexpected '?'"]
In MailboxService.php line 55:
[Symfony\Component\Debug\Exception\FatalThrowableError]
syntax error, unexpected '?'Exception trace:
at C:\wamp\apache2\htdocs\uvdesk\vendor\uvdesk\mailbox-component\Services\MailboxService.php:55
require() at C:\wamp\apache2\htdocs\uvdesk\var\cache\prod\ContainerKpvVYYE\srcApp_KernelProdContainer.php:516
ContainerKpvVYYE\srcApp_KernelProdContainer->load() at C:\wamp\apache2\htdocs\uvdesk\vendor\symfony\dependency-injection\Container.php:243
Symfony\Component\DependencyInjection\Container->make() at C:\wamp\apache2\htdocs\uvdesk\vendor\symfony\dependency-injection\Container.php:225
Symfony\Component\DependencyInjection\Container->get() at C:\wamp\apache2\htdocs\uvdesk\vendor\uvdesk\mailbox-component\Console\RefreshMailboxCommand.php:60
Webkul\UVDesk\MailboxBundle\Console\RefreshMailboxCommand->execute() at C:\wamp\apache2\htdocs\uvdesk\vendor\symfony\console\Command\Command.php:255
Symfony\Component\Console\Command\Command->run() at C:\wamp\apache2\htdocs\uvdesk\vendor\symfony\console\Application.php:952 Symfony\Component\Console\Application->doRunCommand() at C:\wamp\apache2\htdocs\uvdesk\vendor\symfony\framework-bundle\Console\Application.php:87
Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand() at C:\wamp\apache2\htdocs\uvdesk\vendor\symfony\console\Application.php:273
Symfony\Component\Console\Application->doRun() at C:\wamp\apache2\htdocs\uvdesk\vendor\symfony\framework-bundle\Console\Application.php:73
Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at C:\wamp\apache2\htdocs\uvdesk\vendor\symfony\console\Application.php:149
Symfony\Component\Console\Application->run() at C:\wamp\apache2\htdocs\uvdesk\bin\console:42 - Processing uvdesk mailbox configuration.
-
@DD Have you tried to clean cache after the php file edit?
SSH command: php bin/console c:c -
Yes i tried clear cache but i am getting the same syntax error
-
Can you please share the screenshot of your updated code. ?
-
-
you did not pasted the code in correct formate , That is the reason it is giving you the error . you wrote "public " & "function getEmailAddress($addresses)" in two different line .
public function getEmailAddress($addresses) { $check_mail = ""; foreach ((array) $addresses as $address) { if($address['address'] != null){ $email = explode(" ",$address['address']); $check_mail = $email[1]; } $check_mail = $check_mail ? $check_mail : $address['address']; if (filter_var($check_mail, FILTER_VALIDATE_EMAIL)) { return $check_mail; } } return null; }
-
Thank you for the reply. As for the "Syntax Error" corrected according to your suggestion.
The mail issue still remains. I am getting the emails/tickets of the mailbox and of the group that the mailbox belongs to. -
I mean that when i refresh mailbox the i am receiving the emails of the italerts mailbox and not the emails of the IT group that the italerts mailbox is member.
-
Okay , now I have done some changes for you .
Please follow the given steps:
-
Open the MailboxService file, path of this file is given here :
-> project-name\vendor\uvdesk\mailbox-component\Services\MailboxService.php -
Open the Updated MailboxService file from here.
-
Take a backup of your project MailboxService file first.
-
Now copy the whole code from github Updated MailboxService file & past it in your project Mailbox service file .
-
run the SSH command: php bin/console c:c & after that run the Mailbox refresh command.
I hope this time it will work for you , If not please let me know
-
-
Vipin,
i've done what you suggest but it doesn't work -
Mailbox refresh command fetch only last 24 hours mail & converted only those mail into ticket .
so can you please tell me , you got any mail from group to your email in last 24 ?
-
No unfortunately not. Actually i tried a lot of things before sent a request to the forum.
For example i deleted all the emails from the italerts mailbox , sent a new email to IT group , where italerts is a member , but i didn't receive it.
By the way everything else works fine. Customers created automatically, refresh mailbox works well too when it counts the emails. -
As you told that italerts is a member in IT group . So whenever someone try to sent mail in IT group. will it automatically shows in IT group member's inbox ?
-
Yes that's true. I tried several Helpdesk systems before and all of them worked with fine with this.
-
okay send one new mail to IT group . then check in italerts member inbox , when it will receive in inbox then after run the mailbox refresh command. but makesure you have done the updates which i shared you the last .
Also take the screenshots of each steps which you followed.
-
- I delete everything from the italerts mailbox.
- I sent an email to IT@ and the italerts receive it.
- Restart Apache.
- Clear cache ( php bin/console c:c )
- Run the refresh command. (below is the screenshot)
- Nothing appeared in the Tickets link of UVDesk
-
So Mail is converted into ticket or not ?
-
No it doesn't converted.