【发布时间】:2017-11-11 09:34:22
【问题描述】:
这是设置:
AddSettingIfNotExists(EmailSettingNames.DefaultFromAddress, "abc@xyz.tech");
AddSettingIfNotExists(EmailSettingNames.DefaultFromDisplayName, "abc.tech Emailservice");
AddSettingIfNotExists(EmailSettingNames.Smtp.UserName, "abc@xyz.tech");
AddSettingIfNotExists(EmailSettingNames.Smtp.Domain, "abc.tech");
AddSettingIfNotExists(EmailSettingNames.Smtp.EnableSsl,"false");
AddSettingIfNotExists(EmailSettingNames.Smtp.Host, "webmail.abc.tech");
AddSettingIfNotExists(EmailSettingNames.Smtp.Port, "25");
AddSettingIfNotExists(EmailSettingNames.Smtp.Password, "gdfdgd");
AddSettingIfNotExists(EmailSettingNames.Smtp.UseDefaultCredentials, "false");
这是电子邮件发送代码:
// See "Update"
我遇到了这个异常:
错误的命令序列。服务器响应是:此邮件服务器 尝试发送到非本地电子邮件时需要身份验证 地址。请检查您的邮件客户端设置或联系您的 管理员验证是否为此定义了域或地址 服务器
更新
public class UserAppService // ...
{
private readonly UserManager _userManager;
private readonly RoleManager _roleManager;
IRepository<User, long> _rep;
private readonly IRepository<Role> _roleRepository;
private readonly IPasswordHasher<User> _passwordHasher;
public readonly IEmailSender _emailSender;
public UserAppService(
IRepository<User, long> repository,
UserManager userManager,
RoleManager roleManager,
IRepository<Role> roleRepository,
IPasswordHasher<User> passwordHasher, IEmailSender em)
: base(repository)
{
_rep = repository;
_userManager = userManager;
_roleManager = roleManager;
_roleRepository = roleRepository;
_passwordHasher = passwordHasher;
_emailSender = em;
}
[AbpAllowAnonymous]
public override async Task<UserDto> Create(CreateUserDto input)
{
// CheckCreatePermission();
var user = ObjectMapper.Map<User>(input);
user.TenantId = AbpSession.TenantId;
user.Password = _passwordHasher.HashPassword(user, input.Password);
user.IsEmailConfirmed = false;
CheckErrors(await _userManager.CreateAsync(user));
if (input.RoleNames != null)
{
CheckErrors(await _userManager.SetRoles(user, input.RoleNames));
}
CurrentUnitOfWork.SaveChanges();
try
{
await _emailSender.SendAsync("test@gmail.com", "sdfs", "sdfsd", false);
}
catch (Exception ex)
{
}
return MapToEntityDto(user);
}
}
【问题讨论】:
-
@aaron 是的,它正在使用 MailMessage
标签: c# asp.net email smtpclient aspnetboilerplate