Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Email::Send::Gmail 
:(
    Опции темы
qw1mb0
Дата 6.11.2011, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Непутевый студент
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 24.4.2010
Где: Севастополь

Репутация: нет
Всего: нет



Добрый день форумчане.
Разбираюсь с модулем Email::Send::Gmail

написал такую программку
Код

#!/usr/bin/perl
  use strict;
  use warnings;
  use Email::Send;
  use Email::Send::Gmail;
  use Email::Simple::Creator;
  print "Enter please your mail: ";
  chomp (my $mail = <STDIN>);
  print "Enter please your password: ";
  chomp (my $pass = <STDIN>);
  print "Enter a mail to: ";
  chomp (my $to = <STDIN>);
  print "Enter a text: ";
  chomp (my $text = <STDIN>);

  my $email = Email::Simple->create(
      header => [
          From    => '$mail',
          To      => '$to',
          Subject => 'Lol',
      ],
      body => '$text',
  );

  my $sender = Email::Send->new(
      {   mailer      => 'Gmail',
          mailer_args => [
              username => '$mail',
              password => '$pass',
          ]
      }
  );
  eval { $sender->send($email) };
  die "Error sending email: $@" if $@;


Выдает ошибку: Error sending email: Email::Send::Gmail: error authenticating username $mail .... 
Как решить данную проблему?
PM MAIL ICQ Skype   Вверх
alezzz
Дата 6.11.2011, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: 1
Всего: 14



Цитата(qw1mb0 @  6.11.2011,  16:11 Найти цитируемый пост)
username => '$mail',              password => '$pass',

С одинарными кавычками в username и password не попадают значения $mail и $pass, делайте:
Код

              username => "$mail",
              password => "$pass",

или:
Код

              username => $mail,
              password => $pass,

PM MAIL   Вверх
qw1mb0
Дата 6.11.2011, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Непутевый студент
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 24.4.2010
Где: Севастополь

Репутация: нет
Всего: нет



спасибо. Помогло
А можно ли при удачном выполнении отправки письма. Сообщить об этом каким либо выводом сообщения?
PM MAIL ICQ Skype   Вверх
qw1mb0
Дата 6.11.2011, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Непутевый студент
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 24.4.2010
Где: Севастополь

Репутация: нет
Всего: нет



А можно ли сделать так, что бы при вводе пароля он не отображался на экране, а заменялся звездочками например?
PM MAIL ICQ Skype   Вверх
alezzz
Дата 7.11.2011, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: 1
Всего: 14



Можно сделать чтобы никак не отображался, посмотрите Term::ReadKey с его функцией ReadMode('noecho');
PM MAIL   Вверх
qw1mb0
Дата 8.11.2011, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Непутевый студент
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 24.4.2010
Где: Севастополь

Репутация: нет
Всего: нет



Спасибо большое за наводку
решил это вот так:
Код

#!/usr/bin/perl
  use strict;
  use warnings;
  use Email::Send;
  use Email::Send::Gmail;
  use Email::Simple::Creator;
  use Term::ReadKey;
  print "Login: \n";
  print "\tEnter please your mail: ";
  chomp (my $mail = <STDIN>);
  if ($mail eq 'wimba'){
      $mail = '[email protected]'  }
  print "\tEnter please your password: ";
  ReadMode 'noecho';
  my $password = ReadLine 0;
  chomp $password;
  ReadMode 'normal';
  print"\n";
 # chomp (my $pass = <STDIN>);
  print "Write a mail:\n";
  print "\tEnter a mail to: ";
  chomp (my $to = <STDIN>);
  if ($to eq 'Мыло'){
      $to = '[email protected]'
  }
  print "\tEnter a mail subject: ";
  chomp (my $subject = <STDIN>);
  print "\tEnter a text: ";
  chomp (my $text = <STDIN>);

  my $email = Email::Simple->create(
      header => [
          From    => $mail,
          To      => $to,
          Subject => $subject,
      ],
      body => $text,
  );

  my $sender = Email::Send->new(
      {   mailer      => 'Gmail',
          mailer_args => [
              username => $mail,
              password => $password,
          ]
      }
  );
  eval { $sender->send($email) };
  die "Error sending email: $@" if $@;


Но пока еще не разобрался с сообщением об  удачном выполнении
PM MAIL ICQ Skype   Вверх
Lols
Дата 9.11.2011, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 21.10.2011

Репутация: нет
Всего: нет



Напишите, пожалуйста, когда разберетесь, а то у меня аналогичная проблема.
PM MAIL   Вверх
baldina
Дата 9.11.2011, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



Цитата(Lols @  9.11.2011,  00:25 Найти цитируемый пост)
а то у меня аналогичная проблема

с сообщением об удачном выполнении?  smile 
PM MAIL   Вверх
qw1mb0
Дата 10.11.2011, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Непутевый студент
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 24.4.2010
Где: Севастополь

Репутация: нет
Всего: нет



Цитата(Lols @ 9.11.2011,  00:25)
Напишите, пожалуйста, когда разберетесь, а то у меня аналогичная проблема.

Я вот тут подумал... если eval возвращает положительное значение, то выводится сообщение об успешном выполнении.. 
Не намекнете как это реализовать?
PM MAIL ICQ Skype   Вверх
qw1mb0
Дата 12.11.2011, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Непутевый студент
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 24.4.2010
Где: Севастополь

Репутация: нет
Всего: нет



Цитата(Lols @  9.11.2011,  00:25 Найти цитируемый пост)
Напишите, пожалуйста, когда разберетесь, а то у меня аналогичная проблема. 

Что-то я сомвсем протупил с решением этой задачи smile
решение просто и элементарно до безумства:

Код

 eval { $sender->send($email) };
  die "Error sending email: $@" if $@;
  print "";


Просто добавить print.
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0805 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.