protected function lookupGateway($carrier, $mms)
    {
        if ($mms) {
            switch ($carrier) {
                case 'att':
                    return 'mms.att.net';

                case 'airfiremobile':
                    throw new \InvalidArgumentException('Air Fire Mobile does not support Email Gateway MMS messages.');
                case 'alaskacommunicates':
                    return 'msg.acsalaska.com';

                case 'ameritech':
                    throw new \InvalidArgumentException('Ameritech does not support Email Gateway MMS messages.');
                case 'assurancewireless':
                    return 'vmobl.com';

                case 'boostmobile':
                    return 'myboostmobile.com';

                case 'cleartalk':
                    throw new \InvalidArgumentException('Clear Talk does not support Email Gateway MMS messages.');
                case 'cricket':
                    return 'mms.mycricket.com ';

                case 'metropcs':
                    return 'mymetropcs.com';

                case 'nextech':
                    throw new \InvalidArgumentException('NexTech does not support Email Gateway MMS messages.');
                case 'projectfi':
                    return 'msg.fi.google.com';

                case 'rogerswireless':
                    return 'mms.rogers.com';

                case 'unicel':
                    return 'utext.com';

                case 'verizonwireless':
                    return 'vzwpix.com';

                case 'virginmobile':
                    return 'vmpix.com';

                case 'tmobile':
                    return 'tmomail.net';

                case 'sprint':
                    return 'pm.sprint.com';

                case 'uscellular':
                    return 'mms.uscc.net';

                default:
                    throw new \InvalidArgumentException('Carrier specified is not found.');
            }
        } else {
            switch ($carrier) {
                case 'att':
                    return 'txt.att.net';

                case 'airfiremobile':
                    return 'sms.airfiremobile.com';

                case 'alaskacommunicates':
                    return 'msg.acsalaska.com';

                case 'ameritech':
                    return 'paging.acswireless.com';

                case 'assurancewireless':
                    return 'vmobl.com';

                case 'boostmobile':
                    return 'sms.myboostmobile.com';

                case 'cleartalk':
                    return 'sms.cleartalk.us';

                case 'cricket':
                    return 'sms.mycricket.com';

                case 'metropcs':
                    return 'mymetropcs.com';

                case 'nextech':
                    return 'sms.ntwls.net';

                case 'projectfi':
                    return 'msg.fi.google.com';

                case 'rogerswireless':
                    return 'sms.rogers.com';

                case 'unicel':
                    return 'utext.com';

                case 'verizonwireless':
                    return 'vtext.com';

                case 'virginmobile':
                    return 'vmobl.com';

                case 'tmobile':
                    return 'tmomail.net';

                case 'sprint':
                    return 'messaging.sprintpcs.com';

                case 'uscellular':
                    return 'email.uscc.net';

                default:
                    throw new \InvalidArgumentException('Carrier specified is not found.');
            }
        }
    }
protected function lookupGateway($carrier, $mms)
    {
        if ($mms) {
            switch ($carrier) {
                case 'att':
                    return 'mms.att.net';

                case 'airfiremobile':
                    throw new \InvalidArgumentException('Air Fire Mobile does not support Email Gateway MMS messages.');
                case 'alaskacommunicates':
                    return 'msg.acsalaska.com';

                case 'ameritech':
                    throw new \InvalidArgumentException('Ameritech does not support Email Gateway MMS messages.');
                case 'assurancewireless':
                    return 'vmobl.com';

                case 'boostmobile':
                    return 'myboostmobile.com';

                case 'cleartalk':
                    throw new \InvalidArgumentException('Clear Talk does not support Email Gateway MMS messages.');
                case 'cricket':
                    return 'mms.mycricket.com ';

                case 'metropcs':
                    return 'mymetropcs.com';

                case 'nextech':
                    throw new \InvalidArgumentException('NexTech does not support Email Gateway MMS messages.');
                case 'projectfi':
                    return 'msg.fi.google.com';

                case 'rogerswireless':
                    return 'mms.rogers.com';

                case 'unicel':
                    return 'utext.com';

                case 'verizonwireless':
                    return 'vzwpix.com';

                case 'virginmobile':
                    return 'vmpix.com';

                case 'tmobile':
                    return 'tmomail.net';

                case 'sprint':
                    return 'pm.sprint.com';

                case 'uscellular':
                    return 'mms.uscc.net';

                default:
                    throw new \InvalidArgumentException('Carrier specified is not found.');
            }
        } else {
            switch ($carrier) {
                case 'att':
                    return 'txt.att.net';

                case 'airfiremobile':
                    return 'sms.airfiremobile.com';

                case 'alaskacommunicates':
                    return 'msg.acsalaska.com';

                case 'ameritech':
                    return 'paging.acswireless.com';

                case 'assurancewireless':
                    return 'vmobl.com';

                case 'boostmobile':
                    return 'sms.myboostmobile.com';

                case 'cleartalk':
                    return 'sms.cleartalk.us';

                case 'cricket':
                    return 'sms.mycricket.com';

                case 'metropcs':
                    return 'mymetropcs.com';

                case 'nextech':
                    return 'sms.ntwls.net';

                case 'projectfi':
                    return 'msg.fi.google.com';

                case 'rogerswireless':
                    return 'sms.rogers.com';

                case 'unicel':
                    return 'utext.com';

                case 'verizonwireless':
                    return 'vtext.com';

                case 'virginmobile':
                    return 'vmobl.com';

                case 'tmobile':
                    return 'tmomail.net';

                case 'sprint':
                    return 'messaging.sprintpcs.com';

                case 'uscellular':
                    return 'email.uscc.net';

                default:
                    throw new \InvalidArgumentException('Carrier specified is not found.');
            }
        }
    }
protected function lookupGateway ( $ carrier , $ mms ) { if ( $ mms ) { switch ( $ carrier ) { case 'att' : return 'mms.att.net' ; case 'airfiremobile' : throw new \ InvalidArgumentException ( 'Air Fire Mobile does not support Email Gateway MMS messages.' ) ; case 'alaskacommunicates' : return 'msg.acsalaska.com' ; case 'ameritech' : throw new \ InvalidArgumentException ( 'Ameritech does not support Email Gateway MMS messages.' ) ; case 'assurancewireless' : return 'vmobl.com' ; case 'boostmobile' : return 'myboostmobile.com' ; case 'cleartalk' : throw new \ InvalidArgumentException ( 'Clear Talk does not support Email Gateway MMS messages.' ) ; case 'cricket' : return 'mms.mycricket.com ' ; case 'metropcs' : return 'mymetropcs.com' ; case 'nextech' : throw new \ InvalidArgumentException ( 'NexTech does not support Email Gateway MMS messages.' ) ; case 'projectfi' : return 'msg.fi.google.com' ; case 'rogerswireless' : return 'mms.rogers.com' ; case 'unicel' : return 'utext.com' ; case 'verizonwireless' : return 'vzwpix.com' ; case 'virginmobile' : return 'vmpix.com' ; case 'tmobile' : return 'tmomail.net' ; case 'sprint' : return 'pm.sprint.com' ; case 'uscellular' : return 'mms.uscc.net' ; default : throw new \ InvalidArgumentException ( 'Carrier specified is not found.' ) ; } } else { switch ( $ carrier ) { case 'att' : return 'txt.att.net' ; case 'airfiremobile' : return 'sms.airfiremobile.com' ; case 'alaskacommunicates' : return 'msg.acsalaska.com' ; case 'ameritech' : return 'paging.acswireless.com' ; case 'assurancewireless' : return 'vmobl.com' ; case 'boostmobile' : return 'sms.myboostmobile.com' ; case 'cleartalk' : return 'sms.cleartalk.us' ; case 'cricket' : return 'sms.mycricket.com' ; case 'metropcs' : return 'mymetropcs.com' ; case 'nextech' : return 'sms.ntwls.net' ; case 'projectfi' : return 'msg.fi.google.com' ; case 'rogerswireless' : return 'sms.rogers.com' ; case 'unicel' : return 'utext.com' ; case 'verizonwireless' : return 'vtext.com' ; case 'virginmobile' : return 'vmobl.com' ; case 'tmobile' : return 'tmomail.net' ; case 'sprint' : return 'messaging.sprintpcs.com' ; case 'uscellular' : return 'email.uscc.net' ; default : throw new \ InvalidArgumentException ( 'Carrier specified is not found.' ) ; } } }
Finds the gateway based on the carrier and MMS.

@param string $carrier
@param bool   $mms

@return string
Finds the gateway based on the carrier and MMS .