Category Archives: Microsoft

SMTP 554 5.1.0 Sender Denied

Sometimes an exchange mailbox not accept messages from one specific email, and show this message: “smtp 554 5.1.0 Sender Denied”

to see why the sender is not allowed , you can use this ps commands:




Read More ...

Change Dynamics NAV Web Client to NavUserPassword

Dynamics NAV 2017 (2018 and 2016 too) creates a default web client access , with de default server configuration authenticaton ( Windows in my case), to change web client to use NavUserPassword ,is a easy task:

create a second service :


Read More ...

Hybrid configuration Office 365 and exchange 2010

This is a step by step to how to cofigure office 365 in a hybrid enviromment, with an exchange 2010 on premise single server, once you have your subscription activated,

the first step:

add your domain to office 665 console, you have two options to validate that you are the owner of the domain, adding some dns records is the option prefered:


Read More ...

Best way to consume Dynamics NAV web services from external php application

After investigating a bit the connection alternatives to the services of Microsoft Dynamics NAV webservices from an external platform, specifically a web application programmed with PHP and Laravel framework, I have reached the following conclusions:

  • from PHP it is much easier to use OData + json
  • Modern versions of Dynamics NAV (2016/2017) allow connection by OData
  • Through OData you can obtain, register new records and also delete records. with the verbs (GET / POST / PUT / DELETE)

Read More ...

Laravel custom Authentication, With Microsoft Dynamics NAV Odata Webservice (table Customers)

I was created one project with laravel 5.4 and custom authentication to one table of Dynamics NAV (2017) trough web services, these are the steps that I was make to do this:

  • I was folow some steps As this article explains perfectly: CustomUserProvider.php 
      • Modify config/auth.php:
            'providers' => [
                'users' => [
                    //'driver' => 'eloquent',
                    'driver' => 'customuserprovider',
                    'model' => App\User::class,
                // 'users' => [
                //     'driver' => 'database',
                //     'table' => 'users',
                // ],
      • but then Modify providers/AuthServiceProvider to use my own customuserprovider:
         <?php namespace App\Providers; use Illuminate\Support\Facades\Gate; use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; class AuthServiceProvider extends ServiceProvider { /** * The policy mappings for the application. * * @var array */ protected $policies = [ 'App\Model' => 'App\Policies\ModelPolicy',
             * Register any authentication / authorization services.
             * @return void
            public function boot()
                // added to modify auth provider that's the trick
                 \Illuminate\Support\Facades\Auth::provider('customuserprovider', function($app, array $config) {
                return new CustomUserProvider($app['hash'], $config['model']);

Read More ...


Subscribe to my Newsletter

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.