original_string: 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.');
              }
          }
      }
code: 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.');
              }
          }
      }
code_tokens: 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.' ) ; } } }
docstring: Finds the gateway based on the carrier and MMS.
  
  @param string $carrier
  @param bool   $mms
  
  @return string
docstring_tokens: Finds the gateway based on the carrier and MMS .