database/migrations/2015_01_27_190909_create_email_tables.php
public function up()
    {
        if (!Schema::hasTable('smtp_config')) {
            //Email service config table
            Schema::create(
                'smtp_config',
                function (Blueprint $t) {
                    $t->integer('service_id')->unsigned()->primary();
                    $t->foreign('service_id')->references('id')->on('service')->onDelete('cascade');
                    $t->string('host');
                    $t->string('port')->default('587');
                    $t->string('encryption')->nullable();
                    $t->text('username')->nullable(); //encrypted
                    $t->text('password')->nullable(); //encrypted
                }
            );
        }

        //Email service config table
        if (!Schema::hasTable('cloud_email_config')) {
            Schema::create(
                'cloud_email_config',
                function (Blueprint $t) {
                    $t->integer('service_id')->unsigned()->primary();
                    $t->foreign('service_id')->references('id')->on('service')->onDelete('cascade');
                    $t->string('domain')->nullable();
                    $t->text('key'); //encrypted
                }
            );
        }

        //Email service parameters config table
        if (!Schema::hasTable('email_parameters_config')) {
            Schema::create(
                'email_parameters_config',
                function (Blueprint $t) {
                    $t->increments('id');
                    $t->integer('service_id')->unsigned();
                    $t->foreign('service_id')->references('id')->on('service')->onDelete('cascade');
                    $t->string('name');
                    $t->mediumText('value')->nullable();
                    $t->boolean('active')->default(1);
                }
            );
        }
    }
public function up()
    {
        if (!Schema::hasTable('smtp_config')) {
            //Email service config table
            Schema::create(
                'smtp_config',
                function (Blueprint $t) {
                    $t->integer('service_id')->unsigned()->primary();
                    $t->foreign('service_id')->references('id')->on('service')->onDelete('cascade');
                    $t->string('host');
                    $t->string('port')->default('587');
                    $t->string('encryption')->nullable();
                    $t->text('username')->nullable(); //encrypted
                    $t->text('password')->nullable(); //encrypted
                }
            );
        }

        //Email service config table
        if (!Schema::hasTable('cloud_email_config')) {
            Schema::create(
                'cloud_email_config',
                function (Blueprint $t) {
                    $t->integer('service_id')->unsigned()->primary();
                    $t->foreign('service_id')->references('id')->on('service')->onDelete('cascade');
                    $t->string('domain')->nullable();
                    $t->text('key'); //encrypted
                }
            );
        }

        //Email service parameters config table
        if (!Schema::hasTable('email_parameters_config')) {
            Schema::create(
                'email_parameters_config',
                function (Blueprint $t) {
                    $t->increments('id');
                    $t->integer('service_id')->unsigned();
                    $t->foreign('service_id')->references('id')->on('service')->onDelete('cascade');
                    $t->string('name');
                    $t->mediumText('value')->nullable();
                    $t->boolean('active')->default(1);
                }
            );
        }
    }
Run the migrations.

@return void