私は、チェックボックスタイプの入力を使用して選択された電子メールに招待状を送信するボタンを作成しようとしています。私は本当にそれを行う方法についてあなたの助けが必要です。
これは、ビューに私のコードです:チェックボックスを使用して複数の受信者に電子メールを送信するにはどうすればよいですか?
<form role="form" action="{{Extras::getEUserURLPath(Auth::user()->user_id, '/ajax/sendFriendsInvitation')}}" method="GET">
<div class="row form-group" style="padding-left: 50px;">
<?php $i=0 ?>
@if($friends)
@foreach($friends as $friend)
<?php $member = \App\User::find($friend); $i++;?>
@if (Auth::user()->user_id != $member->user_id)
<input type="checkbox" id="cb{{$i}}" value="{{ $member->user_id }}" name="mem[]">
<label class="col-md-5 boxed" for="cb{{$i}}">
{{isset($member->email) ? $member->email: ''}}
</label>
@endif
@endforeach
@endif
</div>
<div class="row form-inline" align="center" style="margin-left: -20%;">
<button type="submit" value="Submit" class="btn btn-sm btn-success invitation" title="Send Invitation"><i class="fa fa-plus"></i> Add Friends</button>
</div>
</form>
と私はその後、私は唯一の電子メールを送信するためにも
public function sendFriendsInvitation(Request $request, $account, $group){
$group = \App\Group::where('alias', 'LIKE', $group)->get();
$muser = Extras::getUserInfo($group[0]->user_id);
$arde = \App\Email::where('type', '=', 'uinv')->get();
$content = "";
$subject = "";
if ($arde->count() > 0) {
$content = $arde[0]->content;
$subject = str_replace(array('$resort_name', '$event_name'), array($resortName, $groupName),$arde[0]->subject);
} else {
$subject = 'Welcome to ' . $resortName . '! |' . $groupName;
$content = view('emails.content.content-of-friends-registration');
}
$access_info = '<p>Just follow the link below to accept your invitation. </p>';
$access_info .= '<p>Click <a href="#">here</a> and use your email ('.$muser->email.') to register.</p>';
$keywords = [
'firstname' => $muser->first_name,
'resort_name' => $resortName,
'group_name' => $groupName,
'access_info' => $access_info
];
$ar_key = array();
$ar_val = array();
foreach ($keywords as $key => $value) {
$ar_key[] = "$".$key;
$ar_val[] = $value;
}
$contation = str_replace($ar_key, $ar_val, $content);
$mdata = array(
'event_group_name' => $event_group->name,
'firstname' => $muser->first_name,
'lastname' => $muser->last_name,
'email' => $muser->email,
'code' => $muser->activation_code,
'utype' => "member",
'resort_name' => $resortName,
'group_name' => $groupName,
'created_by' => $request->input('first_name') . " " . $request->input('last_name'),
'company_email' => $owner->email,
'company_phone' => $owner->phone,
'company_website' => "",
'logo_img' => Extras::getMeta('logo', '\App\GroupMeta', $group[0]->group_id),
'header_img' => asset('storage/images/banner/' . $banner),
'social_fb' => Extras::getMeta('social_fb', '\App\GroupMeta', $group[0]->group_id),
'social_tw' => Extras::getMeta('social_tw', '\App\GroupMeta', $group[0]->group_id),
'social_insta' => Extras::getMeta('social_insta', '\App\GroupMeta',$group[0]->group_id),
'content' => $contation
);
$m_email = $muser->email;
$m_fname = $muser->first_name;
$m_lname = $muser->last_name;
Mail::send('emails.content.friends-registration', $mdata, function ($message) use ($owner, $m_email, $m_fname, $m_lname, $resortName, $groupName) {
$message->from($owner->email, $resortName)->to($m_email, $m_fname . ' ' . $m_lname)->subject('Welcome to ' . $resortName . '! |' . $groupName);
});
return response()->json(['response' => true]);
}
メール法「から」値の配列を受け付けます。だから、あなたがクリックして確認する入力のIDから、彼らの電子メールを取得し、それらを配列に入れることができます。 例:$ m_email = ['[email protected]'、 '[email protected]']; –
ご返信ありがとうございます。 $ mdataにどのように置くべきですか?申し訳ありませんが、これは私のコードではありません。私はちょうどこれを基礎として使っていました。これは私が今使っているものですが、どうやって作るのか分かりません。 –
ああ、私は 'user_id'が' $ muser = Extras :: getUserInfo($ group [0] - > user_id); 'sendFriendsInvitation'に使われると思っていましたが、' –