Пошлите электронное письмо через C# через учетную запись Google Apps

Хотя я думаю, что ответ Басарата - это современный способ решения этой проблемы, приведенный ниже код - это то, как я это сделал. Таким образом, мне нужна только одна строка кода для построения счетчика и только одна строка кода, чтобы показать / скрыть его.

   <Spinner.Render />  {/* Build spinner component */}
   Spinner.show();     //Show spinner.

namespace Spinner {
   'use strict';
   export let show: any; //Ref to showIt method.
   export let hide: any; //Ref to hideIt method.

   export function Render() {
      const [visible, setVisible] = React.useState(false); //Set refresh method.

      function showIt() {
         setVisible(true);  //Show spinner.
      }
      function hideIt() {
         setVisible(false); //Hide spinner.
      }

      const showRef: any = React.useRef(showIt);
      const hideRef: any = React.useRef(hideIt);

      //Component did mount.
      React.useEffect(() => {
         Spinner.show = showRef.current;
         Spinner.hide = hideRef.current;
      }, []);

      const styles: any = createStyles({
         row1Container: { display: 'flex', alignItems: 'center', justifyContent: 'center' },
      });

      return (
         <div>
            {visible && <div style={styles.row1Container}>
               <CircularProgress
                  color='secondary'
                  size={30}
                  thickness={3.6}
               />
            </div>}
         </div>
      ); //end return.

   } //end function.
} //end module.
64
задан Alex Bolotov 26 August 2009 в 20:01
поделиться

2 ответа

Нет необходимости жестко кодировать все настройки smtp в вашем коде. Поместите их в web.config. Таким образом, при необходимости вы можете зашифровать эти параметры и изменить их на лету, не перекомпилируя приложение.

<configuration>
  <system.net>
    <mailSettings>
      <smtp from="example@domain.com" deliveryMethod="Network">
          <network host="smtp.gmail.com" port="587"
              userName="example@domain.com" password="password"/>
      </smtp>
    </mailSettings>
  </system.net>
</configuration>

Конец, когда вы отправляете электронную почту, просто включите SSL на вашем SmtpClient:

var message = new MailMessage("navin@php.net");
// here is an important part:
message.From = new MailAddress("example@domain.com", "Mailer");
// it's superfluous part here since from address is defined in .config file
// in my example. But since you don't use .config file, you will need it.

var client = new SmtpClient();
client.EnableSsl = true;
client.Send(message);

Убедитесь, что вы отправляете электронную почту с того же адреса электронной почты. адрес, по которому вы пытаетесь пройти аутентификацию в Gmail.

Примечание : Начиная с .NET 4.0, вы можете вставить enableSsl = "true" в web.config, а не устанавливать его в коде.

92
ответ дан 24 November 2019 в 15:55
поделиться

изменить порт на 465

3
ответ дан 24 November 2019 в 15:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: