/** * Test addressing. */ public function testAddressing() { $this->assertFalse($this->Mail->addAddress(''), 'Empty address accepted'); $this->assertFalse($this->Mail->addAddress('', 'Nobody'), 'Empty address with name accepted'); $this->assertFalse($this->Mail->addAddress('*****@*****.**'), 'Invalid address accepted'); $this->assertTrue($this->Mail->addAddress('*****@*****.**'), 'Addressing failed'); $this->assertFalse($this->Mail->addAddress('*****@*****.**'), 'Duplicate addressing failed'); $this->assertTrue($this->Mail->addCC('*****@*****.**'), 'CC addressing failed'); $this->assertFalse($this->Mail->addCC('*****@*****.**'), 'CC duplicate addressing failed'); $this->assertFalse($this->Mail->addCC('*****@*****.**'), 'CC duplicate addressing failed (2)'); $this->assertTrue($this->Mail->addBCC('*****@*****.**'), 'BCC addressing failed'); $this->assertFalse($this->Mail->addBCC('*****@*****.**'), 'BCC duplicate addressing failed'); $this->assertFalse($this->Mail->addBCC('*****@*****.**'), 'BCC duplicate addressing failed (2)'); $this->assertTrue($this->Mail->addReplyTo('*****@*****.**'), 'Replyto Addressing failed'); $this->assertFalse($this->Mail->addReplyTo('*****@*****.**'), 'Invalid Replyto address accepted'); $this->assertTrue($this->Mail->setFrom('*****@*****.**', 'some name'), 'setFrom failed'); $this->assertFalse($this->Mail->setFrom('a@example.com.', 'some name'), 'setFrom accepted invalid address'); $this->Mail->Sender = ''; $this->Mail->setFrom('*****@*****.**', 'some name', true); $this->assertEquals($this->Mail->Sender, '*****@*****.**', 'setFrom failed to set sender'); $this->Mail->Sender = ''; $this->Mail->setFrom('*****@*****.**', 'some name', false); $this->assertEquals($this->Mail->Sender, '', 'setFrom should not have set sender'); $this->Mail->clearCCs(); $this->Mail->clearBCCs(); $this->Mail->clearReplyTos(); }
public static function sendGmail($username, $pass, array $email, $charset = 'UTF-8') { $mail = new PHPMailer(); $mail->isSMTP(); $mail->CharSet = $charset; $mail->SMTPDebug = 0; $mail->Host = GMAIL_HOST; $mail->Port = GMAIL_PORT; $mail->SMTPAuth = GMAIL_SMTP_AUTH; $mail->SMTPSecure = GMAIL_SMTP_SECURE; $mail->Username = $username; $mail->Password = $pass; foreach ($email as $to => $email_data) { $mail->clearAllRecipients(); $mail->setFrom($username); $mail->addAddress($to); if (isset($email_data['cc'])) { $mail->clearCCs(); foreach (is_array($email_data['cc']) ? $email_data['cc'] : [$email_data['cc']] as $cc) { $mail->addCC($cc); } } if (isset($email_data['bcc'])) { $mail->clearBCCs(); foreach (is_array($email_data['bcc']) ? $email_data['bcc'] : [$email_data['bcc']] as $bcc) { $mail->addBCC($bcc); } } $mail->Subject = $email_data['subject']; $mail->Body = $email_data['body']; if (!$mail->send()) { throw new Exception(__METHOD__ . $mail->ErrorInfo); } } }