MailUpSend allows you to replicate - outside of the MailUp admin console - many of the common tasks that are typically performed within the MailUp admin console.
The service is available at the following locations (the WebService is accessible through the SOAP protocol):
The corresponding WSDL is available at the following location:
When it is better to use the MailUpSend Web service, and when does it make more sense to use SMTP+, MailUp's SMTP relay service? Here is a quick comparison.
MailUpSend | SMTP+ |
---|---|
Recommended when...
| Recommended when...
|
Please note: if you need to send over 1 million emails per day with SMTP+, please contact us as a special setup may be required. |
"Login" method was removed from this document and is to be considered deprecated starting from MailUp release 7.4. It was replaced by LoginFromId method. If you are still using Login, don't worry: Login method is still available, even if not recommended for new integrations, and returns a response that is equal to the one that is returned by LoginFromId. Signature of old Login method is string Login(string user, string pwd, string url), where URL is the console URL without http:// |
This method is available only from MailUp release 7.4 and it's very similar to the previous one (Login) but it allows to specify an account ID instead of a console URL. The main benefit lies in the fact that a URL limits the use of the infrastructure, whereas a fixed reference like the console ID makes it easier to move the administration console on a higher-performing hardware, if needed. There would be little or no malfunction, as the customer's applications would keep on working after the operation.
Note: the accessKey returned by the LoginFromId method in the MailUpSend Web Service can also be used for the MailUpReport and MailUpManage Web Services. |
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ws="http://services.mailupnet.it/WS"> <soap:Header/> <soap:Body> <ws:LoginFromId> <!--you can use special username ('a'+consoleID, whose password never expires) that is defined in Manage/web services page--> <ws:user>a1234</ws:user> <ws:pwd>password</ws:pwd> <ws:consoleId>1234</ws:consoleId> </ws:LoginFromId> </soap:Body> </soap:Envelope> |
<LoginResult> <errorCode>0</errorCode> <errorDescription></errorDescription> <!--Use accessKey value that is returned by LoginFromId method--> <ws:accessKey>HzAgwRRJaAKBtkgNWpkAuURfV4SxMm6T3HJegRuSkUivKJElNNcmSQe8nqGyoM9</ws:accessKey> </LoginResult> |
<?php // The sample code described herein is provided on an "as is" basis, without warranty of any kind. // MailUp shall not be liable for any direct, indirect or consequential damages or costs of any type arising out of any action taken by you or others related to the sample code. class MailUpWsSend { protected $WSDLUrl = "http://services.mailupnet.it/MailupSend.asmx?WSDL"; private $soapClient; private $xmlResponse; protected $domResult; function __construct() { $this->soapClient = new SoapClient($this->WSDLUrl, array("trace" => 1, "exceptions" => 0)); } function __destruct() { unset($this->soapClient); } public function getFunctions() { print_r($this->soapClient->__getFunctions()); } public function loginFromId() { try { $loginData = array("user" => "user", "pwd" => "password", "consoleId" => "idconsole"); $this->soapClient->loginFromId($loginData); if ($this->readReturnCode("LoginFromId","errorCode") != 0) { echo "<br /><br />Error in LoginFromId: ". $this->readReturnCode("LoginFromId","errorDescription"); die(); } else $this->accessKey = $this->readReturnCode("LoginFromId","accessKey"); echo "<br>AccesKey: ". $this->accessKey; } catch (SoapFault $soapFault) { var_dump($soapFault); } } public function logout() { try { $this->soapClient->Logout(array("accessKey" => $this->accessKey)); if ($this->readReturnCode("Logout","errorCode") != 0) echo "<br /><br />Error in Logout". $this->readReturnCode("Logout","errorDescription"); } catch (SoapFault $soapFault) { var_dump($soapFault); } } private function readReturnCode($func, $param) { $this->xmlResponse = $this->soapClient->__getLastResponse(); $dom = new DomDocument(); $dom->loadXML($this->xmlResponse) or die("(1)XML file is not valid!"); $xmlResult = $dom->getElementsByTagName($func."Result"); $this->domResult = new DomDocument(); $this->domResult->LoadXML(html_entity_decode($xmlResult->item(0)->nodeValue)) or die("(2)XML file is not valid!"); $rCode = $this->domResult->getElementsByTagName($param); return $rCode->item(0)->nodeValue; } //... other functions... // public function functionName(...) {...} } ?> <html> <head></head> <body> <?php $WsSend = new MailUpWsSend(); $WsSend->loginFromId(); // use $WsSend->functionName(...) to call other methods $WsSend->logout(); ?> </body> </html> |
<LogoutResult> <errorCode>0</errorCode> <errorDescription></errorDescription> </LogoutResult> |