Proyectos de Subversion LeadersLinked - Services

Rev

Rev 616 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 616 Rev 617
Línea 1... Línea 1...
1
<?php
1
<?php
-
 
2
 
2
declare(strict_types = 1);
3
declare(strict_types=1);
-
 
4
 
3
namespace LeadersLinked\Command;
5
namespace LeadersLinked\Command;
Línea 4... Línea 6...
4
 
6
 
5
use Symfony\Component\Console\Command\Command;
7
use Symfony\Component\Console\Command\Command;
6
use Symfony\Component\Console\Input\InputInterface;
8
use Symfony\Component\Console\Input\InputInterface;
Línea 120... Línea 122...
120
                $encoding = mb_detect_encoding($message);
122
                $encoding = mb_detect_encoding($message);
121
                if ($encoding != 'UTF-8') {
123
                if ($encoding != 'UTF-8') {
122
                    $message = mb_convert_encoding($message, 'UTF-8', $encoding);
124
                    $message = mb_convert_encoding($message, 'UTF-8', $encoding);
123
                }
125
                }
Línea 124... Línea 126...
124
 
126
 
125
                try{
127
                try {
Línea 126... Línea 128...
126
                $phpMailer = new PHPMailer(true);
128
                    $phpMailer = new PHPMailer(true);
127
 
129
 
128
                $phpMailer->SMTPDebug = false;
130
                    $phpMailer->SMTPDebug = false;
129
                $phpMailer->isSMTP();
131
                    $phpMailer->isSMTP();
130
                $phpMailer->Host = $host;
132
                    $phpMailer->Host = $host;
131
                $phpMailer->SMTPAuth = true;
133
                    $phpMailer->SMTPAuth = true;
132
                $phpMailer->Username = $username;
134
                    $phpMailer->Username = $username;
133
                $phpMailer->Password = $password;
135
                    $phpMailer->Password = $password;
134
                $phpMailer->SMTPSecure = 'tls';
136
                    $phpMailer->SMTPSecure = 'tls';
135
                $phpMailer->Port = $port;
137
                    $phpMailer->Port = $port;
136
              
138
 
137
                $phpMailer->setFrom($from_address, $from_name);
139
                    $phpMailer->setFrom($from_address, $from_name);
138
                $phpMailer->addAddress($to_address, $to_name);
140
                    $phpMailer->addAddress($to_address, $to_name);
139
                
141
 
140
                if ($cc) {
142
                    if ($cc) {
-
 
143
                        foreach ($cc as $address => $name) {
141
                    foreach ($cc as $address => $name) {
144
                            $phpMailer->addCC($address, $name);
142
                        $phpMailer->addCC($address, $name);
-
 
143
                    }
145
                        }
144
                }
146
                    }
145
                if ($bcc) {
147
                    if ($bcc) {
-
 
148
                        foreach ($bcc as $address => $name) {
146
                    foreach ($bcc as $address => $name) {
149
                            $phpMailer->addBCC($address, $name);
147
                        $phpMailer->addBCC($address, $name);
-
 
148
                    }
150
                        }
149
                }
151
                    }
150
                
152
 
151
                $phpMailer->IsHTML(true);
153
                    $phpMailer->IsHTML(true);
152
                $phpMailer->Subject = $subject;
154
                    $phpMailer->Subject = $subject;
153
                $phpMailer->Body = $message;
155
                    $phpMailer->Body = $message;
154
                $phpMailer->CharSet = 'UTF-8';
156
                    $phpMailer->CharSet = 'UTF-8';
155
                $phpMailer->AltBody = $message;
157
                    $phpMailer->AltBody = $message;
156
 
158
 
157
                $phpMailer->send();
159
                    $phpMailer->send();
158
 
160
 
159
                $emailCompleted ++;
161
                    $emailCompleted++;
160
                $email->status = Email::STATUS_COMPLETED;
162
                    $email->status = Email::STATUS_COMPLETED;
161
                $this->logger->info('Email enviado correctamente: ' . $email->id);
163
                    $this->logger->info('Email enviado correctamente: ' . $email->id);
162
                } catch (\Exception $e) {
164
                } catch (\Exception $e) {
163
                    $this->logger->info('Error al enviar el email: ' . $e->getMessage() . ' - ' . $phpMailer->ErrorInfo);     
165
                    $this->logger->info('Error al enviar el email: ' . $e->getMessage() . ' - ' . $phpMailer->ErrorInfo);
164
                    if ($email->tried == 2) {
166
                    if ($email->tried == 2) {
165
                        $emailError ++;
167
                        $emailError++;
166
                        $email->status = Email::STATUS_ERROR;
168
                        $email->status = Email::STATUS_ERROR;
167
                        $this->logger->info('Email descartado: ' . $email->id);
169
                        $this->logger->info('Email descartado: ' . $email->id);
168
                    }
170
                    }
Línea 169... Línea 171...
169
                    $email->tried ++;
171
                    $email->tried++;
170
                }
172
                }
171
 
173
 
Línea 181... Línea 183...
181
        $this->logger->info('Email enviados correctamente:' . $emailCompleted);
183
        $this->logger->info('Email enviados correctamente:' . $emailCompleted);
182
        $this->logger->info('Fin del proceso de la cola de Email');
184
        $this->logger->info('Fin del proceso de la cola de Email');
Línea 183... Línea 185...
183
 
185
 
184
        return 0;
186
        return 0;
185
    }
-
 
186
}
187
    }
-
 
188
}